:html_theme.sidebar_secondary.remove: true
# Staggered, Structured Grids (DMSTAG)

The `DMSTAG` subclass of `DM` encapsulates a Cartesian structured mesh, with "staggered" data living on elements, faces, edges, and vertices.
Users guide chapter [](/manual/dmstag).

<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/impls/stag/tutorials/index.html">Examples</A></BR>



## Manual Pages by Level

### Beginner - Basic usage
```{hlist}
---
columns: 3
---
- [](DMSTAG.md)
- [](DMStagCreate1d.md)
- [](DMStagCreate2d.md)
- [](DMStagCreate3d.md)
- [](DMStagGetCorners.md)
- [](DMStagGetDOF.md)
- [](DMStagGetGhostCorners.md)
- [](DMStagGetGlobalSizes.md)
- [](DMStagGetLocalSizes.md)
- [](DMStagGetLocationSlot.md)
- [](DMStagGetStencilType.md)
- [](DMStagGetStencilWidth.md)
- [](DMStagSetStencilType.md)
- [](DMStagSetStencilWidth.md)
- [](DMStagSetUniformCoordinatesExplicit.md)
- [](DMStagStencil.md)
- [](DMStagStencilLocation.md)
- [](DMStagStencilType.md)
- [](DMStagVecGetArray.md)
- [](DMStagVecGetArrayRead.md)
- [](DMStagVecRestoreArray.md)
- [](DMStagVecRestoreArrayRead.md)
```



### Intermediate - Setting options for algorithms and data structures
```{hlist}
---
columns: 3
---
- [](DMStagCreateCompatibleDMStag.md)
- [](DMStagGetBoundaryTypes.md)
- [](DMStagGetIsFirstRank.md)
- [](DMStagGetIsLastRank.md)
- [](DMStagGetLocationDOF.md)
- [](DMStagGetNumRanks.md)
- [](DMStagGetOwnershipRanges.md)
- [](DMStagGetProductCoordinateArrays.md)
- [](DMStagGetProductCoordinateArraysRead.md)
- [](DMStagGetProductCoordinateLocationSlot.md)
- [](DMStagMatSetValuesStencil.md)
- [](DMStagRestoreProductCoordinateArrays.md)
- [](DMStagRestoreProductCoordinateArraysRead.md)
- [](DMStagSetUniformCoordinatesProduct.md)
```



### Advanced - Setting more advanced options and customization
```{hlist}
---
columns: 3
---
- [](DMStagCreateISFromStencils.md)
- [](DMStagMatGetValuesStencil.md)
- [](DMStagMigrateVec.md)
- [](DMStagRestrictSimple.md)
- [](DMStagSetBoundaryTypes.md)
- [](DMStagSetCoordinateDMType.md)
- [](DMStagSetDOF.md)
- [](DMStagSetGlobalSizes.md)
- [](DMStagSetUniformCoordinates.md)
- [](DMStagVecGetValuesStencil.md)
- [](DMStagVecSetValuesStencil.md)
- [](DMStagVecSplitToDMDA.md)
```



### Developer - Interfaces rarely needed by applications programmers
```{hlist}
---
columns: 3
---
- [](DMStagDuplicateWithoutSetup.md)
- [](DMStagGetEntries.md)
- [](DMStagGetEntriesLocal.md)
- [](DMStagGetEntriesPerElement.md)
- [](DMStagPopulateLocalToGlobalInjective.md)
- [](DMStagSetNumRanks.md)
- [](DMStagSetOwnershipRanges.md)
- [](DMStagStencilToIndexLocal.md)
```



## Single list of manual pages
```{hlist}
---
columns: 3
---
- [](DMSTAG.md)
- [](DMStagCreate1d.md)
- [](DMStagCreate2d.md)
- [](DMStagCreate3d.md)
- [](DMStagCreateCompatibleDMStag.md)
- [](DMStagCreateISFromStencils.md)
- [](DMStagDuplicateWithoutSetup.md)
- [](DMStagGetBoundaryTypes.md)
- [](DMStagGetCorners.md)
- [](DMStagGetDOF.md)
- [](DMStagGetEntries.md)
- [](DMStagGetEntriesLocal.md)
- [](DMStagGetEntriesPerElement.md)
- [](DMStagGetGhostCorners.md)
- [](DMStagGetGlobalSizes.md)
- [](DMStagGetIsFirstRank.md)
- [](DMStagGetIsLastRank.md)
- [](DMStagGetLocalSizes.md)
- [](DMStagGetLocationDOF.md)
- [](DMStagGetLocationSlot.md)
- [](DMStagGetNumRanks.md)
- [](DMStagGetOwnershipRanges.md)
- [](DMStagGetProductCoordinateArrays.md)
- [](DMStagGetProductCoordinateArraysRead.md)
- [](DMStagGetProductCoordinateLocationSlot.md)
- [](DMStagGetStencilType.md)
- [](DMStagGetStencilWidth.md)
- [](DMStagMatGetValuesStencil.md)
- [](DMStagMatSetValuesStencil.md)
- [](DMStagMigrateVec.md)
- [](DMStagPopulateLocalToGlobalInjective.md)
- [](DMStagRestoreProductCoordinateArrays.md)
- [](DMStagRestoreProductCoordinateArraysRead.md)
- [](DMStagRestrictSimple.md)
- [](DMStagSetBoundaryTypes.md)
- [](DMStagSetCoordinateDMType.md)
- [](DMStagSetDOF.md)
- [](DMStagSetGlobalSizes.md)
- [](DMStagSetNumRanks.md)
- [](DMStagSetOwnershipRanges.md)
- [](DMStagSetStencilType.md)
- [](DMStagSetStencilWidth.md)
- [](DMStagSetUniformCoordinates.md)
- [](DMStagSetUniformCoordinatesExplicit.md)
- [](DMStagSetUniformCoordinatesProduct.md)
- [](DMStagStencil.md)
- [](DMStagStencilLocation.md)
- [](DMStagStencilToIndexLocal.md)
- [](DMStagStencilType.md)
- [](DMStagVecGetArray.md)
- [](DMStagVecGetArrayRead.md)
- [](DMStagVecGetValuesStencil.md)
- [](DMStagVecRestoreArray.md)
- [](DMStagVecRestoreArrayRead.md)
- [](DMStagVecSetValuesStencil.md)
- [](DMStagVecSplitToDMDA.md)
```


