petsc-3.14.6 2021-03-30
Report Typos and Errors

PCGASMSetOverlap

Sets the overlap between a pair of subdomains for the additive Schwarz preconditioner. Either all or no processors in the pc communicator must call this routine.

Synopsis

#include "petscpc.h" 
PetscErrorCode  PCGASMSetOverlap(PC pc,PetscInt ovl)
Logically Collective on pc

Input Parameters

pc - the preconditioner context
ovl - the amount of overlap between subdomains (ovl >= 0, default value = 0)

Options Database Key

-pc_gasm_overlap <overlap> - Sets overlap

Notes

By default the GASM preconditioner uses 1 subdomain per processor. To use multiple subdomain per perocessor or "straddling" subdomains that intersect multiple processors use PCGASMSetSubdomains() (or option -pc_gasm_total_subdomains <n>).

The overlap defaults to 0, so if one desires that no additional overlap be computed beyond what may have been set with a call to PCGASMSetSubdomains(), then ovl must be set to be 0. In particular, if one does not explicitly set the subdomains in application code, then all overlap would be computed internally by PETSc, and using an overlap of 0 would result in an GASM variant that is equivalent to the block Jacobi preconditioner.

Note that one can define initial index sets with any overlap via PCGASMSetSubdomains(); the routine PCGASMSetOverlap() merely allows PETSc to extend that overlap further, if desired.

See Also

PCGASMSetSubdomains(), PCGASMGetSubKSP(),
PCGASMCreateSubdomains2D(), PCGASMGetSubdomains()

Level

intermediate

Location

src/ksp/pc/impls/gasm/gasm.c

Examples

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

Implementations

PCGASMSetOverlap_GASM in src/ksp/pc/impls/gasm/gasm.c

Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages