xref: /petsc/include/petscdmlabel.h (revision 5aa44df4e4b9fd65bbd629e2d3728ee19260d674)
1c58f1c22SToby Isaac #if !defined(__PETSCDMLABEL_H)
2c58f1c22SToby Isaac #define __PETSCDMLABEL_H
3c58f1c22SToby Isaac #include <petscis.h>
4c58f1c22SToby Isaac 
5c58f1c22SToby Isaac /*S
6c58f1c22SToby Isaac   DMLabel - Object which encapsulates a subset of the mesh from this DM
7c58f1c22SToby Isaac 
8c58f1c22SToby Isaac   Level: developer
9c58f1c22SToby Isaac 
10c58f1c22SToby Isaac   Concepts: grids, grid refinement
11c58f1c22SToby Isaac 
12c58f1c22SToby Isaac .seealso:  DM, DMPlexCreate(), DMPlexCreateLabel()
13c58f1c22SToby Isaac S*/
14c58f1c22SToby Isaac typedef struct _n_DMLabel *DMLabel;
15c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelCreate(const char [], DMLabel *);
16c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelView(DMLabel, PetscViewer);
17c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelDestroy(DMLabel *);
18c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelGetState(DMLabel, PetscObjectState *);
19*5aa44df4SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelGetDefaultValue(DMLabel, PetscInt *);
20*5aa44df4SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelSetDefaultValue(DMLabel, PetscInt);
21c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelDuplicate(DMLabel, DMLabel *);
22c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelGetName(DMLabel, const char **);
23c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelGetValue(DMLabel, PetscInt, PetscInt *);
24c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelSetValue(DMLabel, PetscInt, PetscInt);
25c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelClearValue(DMLabel, PetscInt, PetscInt);
26c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelAddStratum(DMLabel, PetscInt);
27c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelInsertIS(DMLabel, IS, PetscInt);
28c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelGetNumValues(DMLabel, PetscInt *);
29c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelGetStratumBounds(DMLabel, PetscInt, PetscInt *, PetscInt *);
30c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelGetValueIS(DMLabel, IS *);
31c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelStratumHasPoint(DMLabel, PetscInt, PetscInt, PetscBool *);
32c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelGetStratumSize(DMLabel, PetscInt, PetscInt *);
33c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelGetStratumIS(DMLabel, PetscInt, IS *);
34c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelClearStratum(DMLabel, PetscInt);
35c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelCreateIndex(DMLabel, PetscInt, PetscInt);
36c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelDestroyIndex(DMLabel);
37c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelHasValue(DMLabel, PetscInt, PetscBool *);
38c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelHasPoint(DMLabel, PetscInt, PetscBool *);
39c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelFilter(DMLabel, PetscInt, PetscInt);
40c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelPermute(DMLabel, IS, DMLabel *);
41c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelDistribute(DMLabel, PetscSF, DMLabel *);
42c58f1c22SToby Isaac PETSC_EXTERN PetscErrorCode DMLabelConvertToSection(DMLabel, PetscSection *, IS *);
43c58f1c22SToby Isaac 
44c58f1c22SToby Isaac #endif
45