Actual source code: petscdmlabeltypes.h

  1: #pragma once

  3: /* SUBMANSEC = DM */

  5: /*J
  6:    DMLabelType - String name identifying a `DMLabel` implementation

  8:    Values:
  9: +   `DMLABELCONCRETE`  - the default in-memory `DMLabel` that stores point-to-value mappings explicitly
 10: -   `DMLABELEPHEMERAL` - a `DMLabel` whose values are computed on demand from another `DMLabel` and a transformation, without storing them

 12:    Level: beginner

 14: .seealso: `DMLabel`, `DMLabelSetType()`, `DMLabelGetType()`, `DMLabelCreate()`
 15: J*/
 16: typedef const char *DMLabelType;
 17: #define DMLABELCONCRETE  "concrete"
 18: #define DMLABELEPHEMERAL "ephemeral"

 20: /*S
 21:   DMLabel - Object which encapsulates a subset of the mesh from a `DM`

 23:   Level: developer

 25:   Note:
 26:   A label consists of a set of points on a `DM`

 28: .seealso: [](ch_dmbase), `DM`, `DMPlexCreate()`, `DMLabelCreate()`, `DMLabelView()`, `DMLabelDestroy()`, `DMPlexCreateLabelField()`,
 29:           `DMLabelGetDefaultValue()`, `DMLabelSetDefaultValue()`, `DMLabelDuplicate()`, `DMLabelGetValue()`, `DMLabelSetValue()`,
 30:           `DMLabelAddStratum()`, `DMLabelAddStrata()`, `DMLabelInsertIS()`, `DMLabelGetNumValues()`, `DMLabelGetValueIS()`,
 31:           `DMLabelGetStratumSize()`, `DMLabelComputeIndex()`, `DMLabelDestroyIndex()`, `DMLabelDistribute()`, `DMLabelConvertToSection()`
 32: S*/
 33: typedef struct _p_DMLabel *DMLabel;