petsc-3.12.4 2020-02-04
Report Typos and Errors

# DMStagVecSplitToDMDA

create a DMDA and Vec from a DMStag and Vec

### Synopsis

    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

### Notes

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, DMDA, DMStagMigrateVec(), DMStagCreateCompatibleDMStag()

### Level

advanced

### Location

src/dm/impls/stag/stagda.c
Index of all DMSTAG routines
Table of Contents for all manual pages
Index of all manual pages