Creates the index sets for the overlapping Schwarz preconditioner, PCASM, for a two-dimensional problem on a regular grid.


#include "petscpc.h" 
PetscErrorCode PCASMCreateSubdomains2D(PetscInt m, PetscInt n, PetscInt M, PetscInt N, PetscInt dof, PetscInt overlap, PetscInt *Nsub, IS **is, IS **is_local)

Not Collective

Input Parameters#

  • m - the number of mesh points in the x direction

  • n - the number of mesh points in the y direction

  • M - the number of subdomains in the x direction

  • N - the number of subdomains in the y direction

  • dof - degrees of freedom per node

  • overlap - overlap in mesh lines

Output Parameters#

  • Nsub - the number of subdomains created

  • is - array of index sets defining overlapping (if overlap > 0) subdomains

  • is_local - array of index sets defining non-overlapping subdomains


Presently PCAMSCreateSubdomains2d() is valid only for sequential preconditioners. More general related routines are PCASMSetTotalSubdomains() and PCASMSetLocalSubdomains().

Fortran Notes#

The IS must be declared as an array of length long enough to hold Nsub entries

See Also#

KSP: Linear System Solvers, PCASM, PCASMSetTotalSubdomains(), PCASMSetLocalSubdomains(), PCASMGetSubKSP(), PCASMSetOverlap()







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