petsc-3.4.5 2014-06-29

PCGASMType

Type of generalized additive Schwarz method to use (differs from ASM in allowing multiple processors per subdomain).

Synopsis

typedef enum {PC_GASM_BASIC = 3,PC_GASM_RESTRICT = 1,PC_GASM_INTERPOLATE = 2,PC_GASM_NONE = 0} PCGASMType;
Each subdomain has nested inner and outer parts. The inner subdomains are assumed to form a non-overlapping covering of the computational domain, while the outer subdomains contain the inner subdomains and overlap with each other. This preconditioner will compute a subdomain correction over each *outer* subdomain from a residual computed there, but its different variants will differ in (a) how the outer subdomain residual is computed, and (b) how the outer subdomain correction is computed.

 PC_GASM_BASIC       - Symmetric version where the full from the outer subdomain is used, and the resulting correction is applied
                       over the outer subdomains.  As a result, points in the overlap will receive the sum of the corrections
                       from neighboring subdomains.
                       Classical standard additive Schwarz.
 PC_GASM_RESTRICT    - Residual from the outer subdomain is used but the correction is restricted to the inner subdomain only
                       (i.e., zeroed out over the overlap portion of the outer subdomain before being applied).  As a result,
                       each point will receive a correction only from the unique inner subdomain containing it (nonoverlapping covering
                       assumption).
                       Default.
 PC_GASM_INTERPOLATE - Residual is zeroed out over the overlap portion of the outer subdomain, but the resulting correction is
                       applied over the outer subdomain. As a result, points in the overlap will receive the sum of the corrections
                       from neighboring subdomains.

 PC_GASM_NONE        - Residuals and corrections are zeroed out outside the local subdomains.
                       Not very good.

See Also

PCGASMSetType()

Level:beginner
Location:
src/ksp/pc/../../../include/petscpc.h
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages