petsc-3.4.2 2013-07-02

# SNESASPIN

Helper SNES type for Additive-Schwarz Preconditioned Inexact Newton

### Options Database

| -npc_snes_ | - options prefix of the nonlinear subdomain solver (must be of type NASM)
| -npc_sub_snes_ | - options prefix of the subdomain nonlinear solves
| -npc_sub_ksp_ | - options prefix of the subdomain Krylov solver
| -npc_sub_pc_ | - options prefix of the subdomain preconditioner

Notes: This routine sets up an instance of NETWONLS with nonlinear left preconditioning. It differs from other

### similar functionality in SNES as it creates a linear shell matrix that corresponds to the product

\sum_{i=0}^{N_b}J_b({X^b_{converged}})^{-1}J(X + \sum_{i=0}^{N_b}(X^b_{converged} - X^b))

which is the ASPIN preconditioned matrix. Similar solvers may be constructed by having matrix-free differencing of nonlinear solves per linear iteration, but this is far more efficient when subdomain sparse-direct preconditioner factorizations are reused on each application of J_b^{-1}.

### See Also

SNESCreate(), SNES, SNESSetType(), SNESNEWTONLS, SNESNASM, SNESGetPC(), SNESGetPCSide()

Level:intermediate
Location:src/snes/impls/nasm/aspin.c
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages