PETSc version 3.17.4
Fix/Edit manual page

# SNESGetNPC

Creates a nonlinear preconditioning solver (SNES) to be used to precondition the nonlinear solver.

### Synopsis

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

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

### Input Parameter

| snes | - iterative context obtained from SNESCreate()

### Output Parameter

| pc | - preconditioner context

### Options Database

| -npc_snes_type <type> | - set the type of the SNES to use as the nonlinear preconditioner

### Notes

If a SNES was previously set with SNESSetNPC() then that SNES 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 during SNESSetUp()

### See Also

SNESSetNPC(), SNESHasNPC(), SNES, SNESCreate()

### Level

developer

### Location

src/snes/interface/snes.c

### Examples

src/snes/tutorials/ex35.c.html
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages