petsc-3.12.1 2019-10-22
Report Typos and Errors

# 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/petscpctypes.h
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages