petsc-master 2019-08-18
Report Typos and Errors


create a DMDA and Vec from a DMStag and Vec


PetscErrorCode DMStagVecSplitToDMDA(DM dm,Vec vec,DMStagStencilLocation loc,PetscInt c,DM *pda,Vec *pdavec)
Logically Collective

High-level helper function which accepts a DMStag, a global vector, and location/dof, and generates a corresponding DMDA and Vec.

Input Parameters

dm - the DMStag object
vec- Vec object associated with dm
loc - which subgrid to extract (see DMStagStencilLocation)
c - which component to extract (see note below)

Output Parameters

pda - the new DMDA
pdavec - the new Vec


If a c value of -k is provided, the first k dof for that position are extracted, padding with zero values if needbe. If a non-negative value is provided, a single dof is extracted.

The caller is responsible for destroying the created DMDA and Vec.

See Also

DMSTAG, DMStagMigrateVec(), DMStagCreateCompatibleDMStag()




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