petsc-master 2019-12-10
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