# PCGASMSetOverlap#

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

## Synopsis#

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


Logically Collective

## Input Parameters#

• pc - the preconditioner context

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

## Options Database Key#

• -pc_gasm_overlap - Sets overlap

## Notes#

By default the PCGASM preconditioner uses 1 subdomain per rank. To use multiple subdomain per perocessor or “straddling” subdomains that intersect multiple ranks use PCGASMSetSubdomains() (or option -pc_gasm_total_subdomains ).

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 PCGASM variant that is equivalent to the block Jacobi preconditioner.

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

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

intermediate

## Location#

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

Edit on GitLab