#include "petscpc.h" PetscErrorCode PCASMSetLocalSubdomains(PC pc,PetscInt n,IS is[],IS is_local[])Collective on PC
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) | |
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) |
By default the ASM 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.