#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
dm | - the DM object | |
n | - the number of subdomain scatters | |
subdms | - the local subdomains |
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.