PCASMSetLocalSubdomains#

Sets the local subdomains (for this processor only) for the additive Schwarz preconditioner PCASM.

Synopsis#

#include "petscpc.h" 
PetscErrorCode PCASMSetLocalSubdomains(PC pc, PetscInt n, IS is[], IS is_local[])

Collective

Input Parameters#

  • pc - the preconditioner context

  • n - the number of subdomains for this processor (default value = 1)

  • is - the index set that defines the subdomains for this processor (or NULL for PETSc to determine subdomains) the values of the is array are copied so you can free the array (not the IS in the array) after this call

  • is_local - the index sets that define the local part of the subdomains for this processor, not used unless PCASMType is PC_ASM_RESTRICT (or NULL to not provide these). The values of the is_local array are copied so you can free the array (not the IS in the array) after this call

Options Database Key#

  • -pc_asm_local_blocks - Sets number of local blocks

Notes#

The IS numbering is in the parallel, global numbering of the vector for both is and is_local

By default the PCASM preconditioner uses 1 block per processor.

Use PCASMSetTotalSubdomains() to set the subdomains for all processors.

If is_local is provided and PCASMType is PC_ASM_RESTRICT then the solution only over the is_local region is interpolated back to form the global solution (this is the standard restricted additive Schwarz method, RASM)

If is_local is provided and PCASMType is PC_ASM_INTERPOLATE or PC_ASM_NONE then an error is generated since there is no code to handle that case.

See Also#

KSP: Linear System Solvers, PCASM, PCASMSetTotalSubdomains(), PCASMSetOverlap(), PCASMGetSubKSP(), PCASMCreateSubdomains2D(), PCASMGetLocalSubdomains(), PCASMType, PCASMSetType(), PCGASM

Level#

advanced

Location#

src/ksp/pc/impls/asm/asm.c

Examples#

src/ksp/ksp/tutorials/ex76.c
src/ksp/ksp/tutorials/ex19.c
src/ksp/ksp/tutorials/ex8.c

Implementations#

PCASMSetLocalSubdomains_ASM() in src/ksp/pc/impls/asm/asm.c


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