:orphan: # PCGASMCreateSubdomains2D Creates the index sets for the `PCGASM` overlapping Schwarz preconditioner for a two-dimensional problem on a regular grid. ## Synopsis ``` #include "petscpc.h" PetscErrorCode PCGASMCreateSubdomains2D(PC pc, PetscInt M, PetscInt N, PetscInt Mdomains, PetscInt Ndomains, PetscInt dof, PetscInt overlap, PetscInt *nsub, IS **iis, IS **ois) ``` Collective ## Input Parameters - ***pc -*** the preconditioner context - ***M -*** the global number of grid points in the x direction - ***N -*** the global number of grid points in the y direction - ***Mdomains -*** the global number of subdomains in the x direction - ***Ndomains -*** the global number of subdomains in the y direction - ***dof -*** degrees of freedom per node - ***overlap -*** overlap in mesh lines ## Output Parameters - ***Nsub -*** the number of local subdomains created - ***iis -*** array of index sets defining inner (nonoverlapping) subdomains - ***ois -*** array of index sets defining outer (overlapping, if overlap > 0) subdomains ## Note Use `PCGASMDestroySubdomains()` to free the index sets and the arrays ## Fortran Note The `IS` must be declared as an array of length long enough to hold `Nsub` entries ## See Also `PCGASM`, `PCGASMSetSubdomains()`, `PCGASMGetSubKSP()`, `PCGASMSetOverlap()`, `PCASMCreateSubdomains2D()`, `PCGASMDestroySubdomains()` ## Level advanced ## Location src/ksp/pc/impls/gasm/gasm.c ## Examples src/ksp/ksp/tutorials/ex62.c
src/ksp/ksp/tutorials/ex64.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/pc/impls/gasm/gasm.c) [Index of all PC routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)