petsc-3.4.5 2014-06-29

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