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