SNESGetNPC — PETSc 3.21.4 documentation

Skip to main content
`Ctrl`+`K`

# SNESGetNPC

Gets a nonlinear preconditioning solver SNES` to be used to precondition the original nonlinear solver.

## Synopsis

    #include "petscsnes.h"
    PetscErrorCode SNESGetNPC(SNES snes, SNES *pc)

Not Collective; but any changes to the obtained the npc object must be applied collectively

## Input Parameter

- snes - iterative context obtained from `SNESCreate()`

## Output Parameter

- pc - preconditioner context

## Options Database Key

- -npc_snes_type - set the type of the `SNES` to use as the nonlinear preconditioner

## Notes

If a `SNES` was previously set with `SNESSetNPC()` then that value is returned, otherwise a new `SNES` object is created.

The (preconditioner) `SNES` returned automatically inherits the same nonlinear function and Jacobian supplied to the original `SNES`

## See Also

SNES: Nonlinear Solvers, `SNESSetNPC()`, `SNESHasNPC()`, `SNES`, `SNESCreate()`

## Level

developer

## Location

src/snes/interface/snes.c

## Examples

src/snes/tutorials/ex35.c

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