Skip to main content
`Ctrl`+`K`

# DMGetRegionDS

Get the `PetscDS` for a given mesh region, defined by a `DMLabel`

## Synopsis

    #include "petscdm.h"
    #include "petscdmlabel.h"
    #include "petscds.h"
    PetscErrorCode DMGetRegionDS(DM dm, DMLabel label, IS *fields, PetscDS *ds, PetscDS *dsIn)

Not Collective

## Input Parameters

- dm - The `DM`

- label - The `DMLabel` defining the mesh region, or `NULL` for the entire mesh

## Output Parameters

- fields - The `IS` containing the `DM` field numbers for the fields in this `PetscDS`, or `NULL`

- ds - The `PetscDS` defined on the given region, or `NULL`

- dsIn - The `PetscDS` for input in the given region, or `NULL`

## Note

If a non-`NULL` label is given, but there is no `PetscDS` on that specific label, the `PetscDS` for the full domain (if present) is returned. Returns with fields = `NULL` and ds = `NULL` if there is no `PetscDS` for the full domain.

## See Also

DM Basics, `DM`, `DMGetRegionNumDS()`, `DMSetRegionDS()`, `DMGetDS()`, `DMGetCellDS()`

## Level

advanced

## Location

src/dm/interface/dm.c

## Examples

src/dm/impls/plex/tutorials/ex8.c

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