petsc-3.14.6 2021-03-30
Report Typos and Errors

DMCreateDomainDecompositionScatters

Returns scatters to the subdomain vectors from the global vector

Synopsis

#include "petscdm.h"          
#include "petscdmlabel.h"     
#include "petscds.h"     
PetscErrorCode DMCreateDomainDecompositionScatters(DM dm,PetscInt n,DM *subdms,VecScatter **iscat,VecScatter **oscat,VecScatter **gscat)
Not collective

Input Parameters

dm - the DM object
n - the number of subdomain scatters
subdms - the local subdomains

Output Parameters

n - the number of scatters returned
iscat - scatter from global vector to nonoverlapping global vector entries on subdomain
oscat - scatter from global vector to overlapping global vector entries on subdomain
gscat - scatter from global vector to local vector on subdomain (fills in ghosts)

Notes

This is an alternative to the iis and ois arguments in DMCreateDomainDecomposition that allow for the solution of general nonlinear problems with overlapping subdomain methods. While merely having index sets that enable subsets of the residual equations to be created is fine for linear problems, nonlinear problems require local assembly of solution and residual data.

See Also

DMDestroy(), DMView(), DMCreateInterpolation(), DMCreateColoring(), DMCreateMatrix(), DMCreateFieldIS()

Level

developer

Location

src/dm/interface/dm.c

Implementations

DMCreateDomainDecompositionScatters_DA in src/dm/impls/da/dadd.c

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