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
NULLfor PETSc to determine subdomains)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
NULLto not provide these)
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)
If the 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#
PCASM, PCASMSetTotalSubdomains(), PCASMSetOverlap(), PCASMGetSubKSP(),
PCASMCreateSubdomains2D(), PCASMGetLocalSubdomains(), PCASMType, PCASMSetType(), PCGASM
Level#
advanced
Location#
Examples#
src/ksp/ksp/tutorials/ex19.c
src/ksp/ksp/tutorials/ex76.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