xref: /petsc/src/binding/petsc4py/src/petsc4py/PETSc/petscspace.pxi (revision 552edb6364df478b294b3111f33a8f37ca096b20)
1
2cdef extern from * nogil:
3
4    ctypedef const char* PetscSpaceType
5    PetscSpaceType PETSCSPACEPOLYNOMIAL
6    PetscSpaceType PETSCSPACEPTRIMMED
7    PetscSpaceType PETSCSPACETENSOR
8    PetscSpaceType PETSCSPACESUM
9    PetscSpaceType PETSCSPACEPOINT
10    PetscSpaceType PETSCSPACESUBSPACE
11    PetscSpaceType PETSCSPACEWXY
12
13    PetscErrorCode PetscSpaceCreate(MPI_Comm, PetscSpace*)
14    PetscErrorCode PetscSpaceSetUp(PetscSpace)
15    PetscErrorCode PetscSpaceSetFromOptions(PetscSpace)
16    PetscErrorCode PetscSpaceDestroy(PetscSpace*)
17    PetscErrorCode PetscSpaceView(PetscSpace, PetscViewer)
18    PetscErrorCode PetscSpaceSetType(PetscSpace, PetscSpaceType)
19    PetscErrorCode PetscSpaceGetType(PetscSpace, PetscSpaceType*)
20    PetscErrorCode PetscSpaceGetDimension(PetscSpace, PetscInt*)
21    PetscErrorCode PetscSpaceGetDegree(PetscSpace, PetscInt*, PetscInt*)
22    PetscErrorCode PetscSpaceGetNumVariables(PetscSpace, PetscInt*)
23    PetscErrorCode PetscSpaceGetNumComponents(PetscSpace, PetscInt*)
24    PetscErrorCode PetscSpaceSetDegree(PetscSpace, PetscInt, PetscInt)
25    PetscErrorCode PetscSpaceSetNumComponents(PetscSpace, PetscInt)
26    PetscErrorCode PetscSpaceSetNumVariables(PetscSpace, PetscInt)
27
28    PetscErrorCode PetscSpaceSumGetConcatenate(PetscSpace, PetscBool*)
29    PetscErrorCode PetscSpaceSumSetConcatenate(PetscSpace, PetscBool)
30    PetscErrorCode PetscSpaceSumGetNumSubspaces(PetscSpace, PetscInt*)
31    PetscErrorCode PetscSpaceSumGetSubspace(PetscSpace, PetscInt, PetscSpace*)
32    PetscErrorCode PetscSpaceSumSetNumSubspaces(PetscSpace, PetscInt)
33    PetscErrorCode PetscSpaceSumSetSubspace(PetscSpace, PetscInt, PetscSpace)
34    PetscErrorCode PetscSpaceTensorGetNumSubspaces(PetscSpace, PetscInt*)
35    PetscErrorCode PetscSpaceTensorGetSubspace(PetscSpace, PetscInt, PetscSpace*)
36    PetscErrorCode PetscSpaceTensorSetNumSubspaces(PetscSpace, PetscInt)
37    PetscErrorCode PetscSpaceTensorSetSubspace(PetscSpace, PetscInt, PetscSpace)
38
39    PetscErrorCode PetscSpacePolynomialSetTensor(PetscSpace, PetscBool)
40    PetscErrorCode PetscSpacePolynomialGetTensor(PetscSpace, PetscBool*)
41    PetscErrorCode PetscSpacePointSetPoints(PetscSpace, PetscQuadrature)
42    PetscErrorCode PetscSpacePointGetPoints(PetscSpace, PetscQuadrature*)
43
44    PetscErrorCode PetscSpacePTrimmedSetFormDegree(PetscSpace, PetscInt)
45    PetscErrorCode PetscSpacePTrimmedGetFormDegree(PetscSpace, PetscInt*)
46
47# --------------------------------------------------------------------
48
49cdef extern from * nogil:
50
51    ctypedef const char* PetscDualSpaceType
52    PetscDualSpaceType PETSCDUALSPACELAGRANGE
53    PetscDualSpaceType PETSCDUALSPACESIMPLE
54    PetscDualSpaceType PETSCDUALSPACEREFINED
55    PetscDualSpaceType PETSCDUALSPACEBDM
56
57    PetscErrorCode PetscDualSpaceCreate(MPI_Comm, PetscDualSpace*)
58    PetscErrorCode PetscDualSpaceDestroy(PetscDualSpace*)
59    PetscErrorCode PetscDualSpaceDuplicate(PetscDualSpace, PetscDualSpace*)
60    PetscErrorCode PetscDualSpaceView(PetscDualSpace, PetscViewer)
61
62    PetscErrorCode PetscDualSpaceGetDM(PetscDualSpace, PetscDM*)
63    PetscErrorCode PetscDualSpaceSetDM(PetscDualSpace, PetscDM)
64    PetscErrorCode PetscDualSpaceGetDimension(PetscDualSpace, PetscInt*)
65    PetscErrorCode PetscDualSpaceGetNumComponents(PetscDualSpace, PetscInt*)
66    PetscErrorCode PetscDualSpaceSetNumComponents(PetscDualSpace, PetscInt)
67    PetscErrorCode PetscDualSpaceGetOrder(PetscDualSpace, PetscInt*)
68    PetscErrorCode PetscDualSpaceSetOrder(PetscDualSpace, PetscInt)
69    PetscErrorCode PetscDualSpaceGetNumDof(PetscDualSpace, const PetscInt**)
70    PetscErrorCode PetscDualSpaceSetUp(PetscDualSpace)
71
72    PetscErrorCode PetscDualSpaceGetFunctional(PetscDualSpace, PetscInt, PetscQuadrature*)
73    PetscErrorCode PetscDualSpaceGetInteriorDimension(PetscDualSpace, PetscInt*)
74    PetscErrorCode PetscDualSpaceLagrangeGetContinuity(PetscDualSpace, PetscBool*)
75    PetscErrorCode PetscDualSpaceLagrangeGetTensor(PetscDualSpace, PetscBool*)
76    PetscErrorCode PetscDualSpaceLagrangeGetTrimmed(PetscDualSpace, PetscBool*)
77    PetscErrorCode PetscDualSpaceLagrangeSetContinuity(PetscDualSpace, PetscBool)
78    PetscErrorCode PetscDualSpaceLagrangeSetTensor(PetscDualSpace, PetscBool)
79    PetscErrorCode PetscDualSpaceLagrangeSetTrimmed(PetscDualSpace, PetscBool)
80    PetscErrorCode PetscDualSpaceSimpleSetDimension(PetscDualSpace, PetscInt)
81    PetscErrorCode PetscDualSpaceSimpleSetFunctional(PetscDualSpace, PetscInt, PetscQuadrature)
82    PetscErrorCode PetscDualSpaceGetType(PetscDualSpace, PetscDualSpaceType*)
83    PetscErrorCode PetscDualSpaceSetType(PetscDualSpace, PetscDualSpaceType)
84