Skip to main content
`Ctrl`+`K`

# PCASMCreateSubdomains2D

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

## Synopsis

    #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

## Note

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()`

## Level

advanced

## Location

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

## Examples

src/ksp/ksp/tutorials/ex8.c

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