petsc-3.6.4 2016-04-12
Report Typos and Errors

PCGASM

Use the (restricted) additive Schwarz method, each block is (approximately) solved with its own KSP object.

Options Database Keys

-pc_gasm_total_subdomains <n> - Sets total number of local subdomains to be distributed among processors
-pc_gasm_view_subdomains - activates the printing of subdomain indices in PCView(), -ksp_view or -snes_view
-pc_gasm_print_subdomains - activates the printing of subdomain indices in PCSetUp()
-pc_gasm_overlap <ovl> - Sets overlap by which to (automatically) extend local subdomains
-pc_gasm_type [basic,restrict,interpolate,none] - Sets GASM type

IMPORTANT: If you run with, for example, 3 blocks on 1 processor or 3 blocks on 3 processors you will get a different convergence rate due to the default option of -pc_gasm_type restrict. Use -pc_gasm_type basic to use the standard GASM.

Notes: Each processor can have one or more blocks, but a block cannot be shared by more than one processor. Defaults to one block per processor.

To set options on the solvers for each block append -sub_ to all the KSP, and PC options database keys. For example, -sub_pc_type ilu -sub_pc_factor_levels 1 -sub_ksp_type preonly

To set the options on the solvers separate for each block call PCGASMGetSubKSP() and set the options directly on the resulting KSP object (you can access its PC with KSPGetPC())

References

An additive variant of the Schwarz alternating method for the case of many subregions M Dryja, OB Widlund - Courant Institute, New York University Technical report

Domain Decompositions: Parallel Multilevel Methods for Elliptic Partial Differential Equations, Barry Smith, Petter Bjorstad, and William Gropp, Cambridge University Press, ISBN 0-521-49589-X.

See Also

PCCreate(), PCSetType(), PCType (for list of available types), PC,
PCBJACOBI, PCGASMGetSubKSP(), PCGASMSetSubdomains(), PCSetModifySubmatrices(), PCGASMSetOverlap(), PCGASMSetType()

Level:beginner
Location:
src/ksp/pc/impls/gasm/gasm.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages

Examples

src/ksp/ksp/examples/tutorials/ex62.c.html