forked from petsc/petsc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpetscdmfield.h
67 lines (51 loc) · 3.21 KB
/
petscdmfield.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#pragma once
#include <petscdm.h>
#include <petscdt.h>
#include <petscfe.h>
/* SUBMANSEC = DM */
PETSC_EXTERN PetscErrorCode DMFieldInitializePackage(void);
PETSC_EXTERN PetscErrorCode DMFieldFinalizePackage(void);
PETSC_EXTERN PetscClassId DMFIELD_CLASSID;
/*J
DMFieldType - String with the name of a `DMField` implementation
Level: intermediate
.seealso: [](ch_dmbase), `DMField`, `DMFieldSetType()`, `DMFieldGetType()`, `DMFieldRegister()`
J*/
typedef const char *DMFieldType;
#define DMFIELDDA "da"
#define DMFIELDDS "ds"
#define DMFIELDSHELL "shell"
PETSC_EXTERN PetscFunctionList DMFieldList;
PETSC_EXTERN PetscErrorCode DMFieldSetType(DMField, DMFieldType);
PETSC_EXTERN PetscErrorCode DMFieldGetType(DMField, DMFieldType *);
PETSC_EXTERN PetscErrorCode DMFieldRegister(const char[], PetscErrorCode (*)(DMField));
typedef enum {
DMFIELD_VERTEX,
DMFIELD_EDGE,
DMFIELD_FACET,
DMFIELD_CELL
} DMFieldContinuity;
PETSC_EXTERN const char *const DMFieldContinuities[];
PETSC_EXTERN PetscErrorCode DMFieldDestroy(DMField *);
PETSC_EXTERN PetscErrorCode DMFieldView(DMField, PetscViewer);
PETSC_EXTERN PetscErrorCode DMFieldGetDM(DMField, DM *);
PETSC_EXTERN PetscErrorCode DMFieldGetNumComponents(DMField, PetscInt *);
PETSC_EXTERN PetscErrorCode DMFieldEvaluate(DMField, Vec, PetscDataType, void *, void *, void *);
PETSC_EXTERN PetscErrorCode DMFieldEvaluateFE(DMField, IS, PetscQuadrature, PetscDataType, void *, void *, void *);
PETSC_EXTERN PetscErrorCode DMFieldEvaluateFV(DMField, IS, PetscDataType, void *, void *, void *);
PETSC_EXTERN PetscErrorCode DMFieldCreateFEGeom(DMField, IS, PetscQuadrature, PetscBool, PetscFEGeom **);
PETSC_EXTERN PetscErrorCode DMFieldCreateDefaultQuadrature(DMField, IS, PetscQuadrature *);
PETSC_EXTERN PetscErrorCode DMFieldGetDegree(DMField, IS, PetscInt *, PetscInt *);
PETSC_EXTERN PetscErrorCode DMFieldCreateDA(DM, PetscInt, const PetscScalar *, DMField *);
PETSC_EXTERN PetscErrorCode DMFieldCreateDS(DM, PetscInt, Vec, DMField *);
PETSC_EXTERN PetscErrorCode DMFieldCreateDSWithDG(DM, DM, PetscInt, Vec, Vec, DMField *);
PETSC_EXTERN PetscErrorCode DMFieldCreateShell(DM, PetscInt, DMFieldContinuity, void *, DMField *);
PETSC_EXTERN PetscErrorCode DMFieldShellSetDestroy(DMField, PetscErrorCode (*)(DMField));
PETSC_EXTERN PetscErrorCode DMFieldShellGetContext(DMField, void *);
PETSC_EXTERN PetscErrorCode DMFieldShellSetEvaluate(DMField, PetscErrorCode (*)(DMField, Vec, PetscDataType, void *, void *, void *));
PETSC_EXTERN PetscErrorCode DMFieldShellSetEvaluateFE(DMField, PetscErrorCode (*)(DMField, IS, PetscQuadrature, PetscDataType, void *, void *, void *));
PETSC_EXTERN PetscErrorCode DMFieldShellEvaluateFEDefault(DMField, IS, PetscQuadrature, PetscDataType, void *, void *, void *);
PETSC_EXTERN PetscErrorCode DMFieldShellSetEvaluateFV(DMField, PetscErrorCode (*)(DMField, IS, PetscDataType, void *, void *, void *));
PETSC_EXTERN PetscErrorCode DMFieldShellEvaluateFVDefault(DMField, IS, PetscDataType, void *, void *, void *);
PETSC_EXTERN PetscErrorCode DMFieldShellSetGetDegree(DMField, PetscErrorCode (*)(DMField, IS, PetscInt *, PetscInt *));
PETSC_EXTERN PetscErrorCode DMFieldShellSetCreateDefaultQuadrature(DMField, PetscErrorCode (*)(DMField, IS, PetscQuadrature *));