petsc-3.9.4 2018-09-11
PCGASMSetSubdomains
Sets the subdomains for this processor for the additive Schwarz preconditioner.
Synopsis
#include "petscpc.h"
PetscErrorCode PCGASMSetSubdomains(PC pc,PetscInt n,IS iis[],IS ois[])
Collective on pc
Input Parameters
| pc | - the preconditioner object
|
| n | - the number of subdomains for this processor
|
| iis | - the index sets that define the inner subdomains (or NULL for PETSc to determine subdomains)
|
| ois | - the index sets that define the outer subdomains (or NULL to use the same as iis, or to construct by expanding iis by the requested overlap)
|
Notes
The IS indices use the parallel, global numbering of the vector entries.
Inner subdomains are those where the correction is applied.
Outer subdomains are those where the residual necessary to obtain the
corrections is obtained (see PCGASMType for the use of inner/outer subdomains).
Both inner and outer subdomains can extend over several processors.
This processor's portion of a subdomain is known as a local subdomain.
Inner subdomains can not overlap with each other, do not have any entities from remote processors,
and have to cover the entire local subdomain owned by the current processor. The index sets on each
process should be ordered such that the ith local subdomain is connected to the ith remote subdomain
on another MPI process.
By default the GASM preconditioner uses 1 (local) subdomain per processor.
Keywords
PC, GASM, set, subdomains, additive Schwarz
See Also
PCGASMSetNumSubdomains(), PCGASMSetOverlap(), PCGASMGetSubKSP(),
PCGASMCreateSubdomains2D(), PCGASMGetSubdomains()
Level
advanced
Location
src/ksp/pc/impls/gasm/gasm.c
Examples
src/ksp/ksp/examples/tutorials/ex62.c.html
Implementations
PCGASMSetSubdomains_GASM in src/ksp/pc/impls/gasm/gasm.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages