xref: /petsc/src/binding/petsc4py/src/petsc4py/PETSc/petscdmplex.pxi (revision 62ed42821f84f33353546905c9271ed730d39ff0)
1# --------------------------------------------------------------------
2
3cdef extern from * nogil:
4
5    ctypedef const char* PetscDMPlexTransformType "DMPlexTransformType"
6    PetscDMPlexTransformType DMPLEXREFINEREGULAR
7    PetscDMPlexTransformType DMPLEXREFINEALFELD
8    PetscDMPlexTransformType DMPLEXREFINEPOWELLSABIN
9    PetscDMPlexTransformType DMPLEXREFINEBOUNDARYLAYER
10    PetscDMPlexTransformType DMPLEXREFINESBR
11    PetscDMPlexTransformType DMPLEXREFINETOBOX
12    PetscDMPlexTransformType DMPLEXREFINETOSIMPLEX
13    PetscDMPlexTransformType DMPLEXREFINE1D
14    PetscDMPlexTransformType DMPLEXEXTRUDETYPE
15    PetscDMPlexTransformType DMPLEXTRANSFORMFILTER
16
17    PetscErrorCode DMPlexCreate(MPI_Comm, PetscDM*)
18    PetscErrorCode DMPlexCreateCohesiveSubmesh(PetscDM, PetscBool, const char[], PetscInt, PetscDM*)
19    PetscErrorCode DMPlexCreateFromCellListPetsc(MPI_Comm, PetscInt, PetscInt, PetscInt, PetscInt, PetscBool, PetscInt[], PetscInt, PetscReal[], PetscDM*)
20
21    PetscErrorCode DMPlexGetChart(PetscDM, PetscInt*, PetscInt*)
22    PetscErrorCode DMPlexSetChart(PetscDM, PetscInt, PetscInt)
23    PetscErrorCode DMPlexGetConeSize(PetscDM, PetscInt, PetscInt*)
24    PetscErrorCode DMPlexSetConeSize(PetscDM, PetscInt, PetscInt)
25    PetscErrorCode DMPlexGetCone(PetscDM, PetscInt, const PetscInt*[])
26    PetscErrorCode DMPlexSetCone(PetscDM, PetscInt, const PetscInt[])
27    PetscErrorCode DMPlexInsertCone(PetscDM, PetscInt, PetscInt, PetscInt)
28    PetscErrorCode DMPlexInsertConeOrientation(PetscDM, PetscInt, PetscInt, PetscInt)
29    PetscErrorCode DMPlexGetConeOrientation(PetscDM, PetscInt, const PetscInt*[])
30    PetscErrorCode DMPlexSetConeOrientation(PetscDM, PetscInt, const PetscInt[])
31    PetscErrorCode DMPlexSetCellType(PetscDM, PetscInt, PetscDMPolytopeType)
32    PetscErrorCode DMPlexGetCellType(PetscDM, PetscInt, PetscDMPolytopeType*)
33    PetscErrorCode DMPlexGetCellTypeLabel(PetscDM, PetscDMLabel*)
34    PetscErrorCode DMPlexGetSupportSize(PetscDM, PetscInt, PetscInt*)
35    PetscErrorCode DMPlexSetSupportSize(PetscDM, PetscInt, PetscInt)
36    PetscErrorCode DMPlexGetSupport(PetscDM, PetscInt, const PetscInt*[])
37    PetscErrorCode DMPlexSetSupport(PetscDM, PetscInt, const PetscInt[])
38    PetscErrorCode DMPlexGetMaxSizes(PetscDM, PetscInt*, PetscInt*)
39    PetscErrorCode DMPlexSymmetrize(PetscDM)
40    PetscErrorCode DMPlexStratify(PetscDM)
41    PetscErrorCode DMPlexOrient(PetscDM)
42    PetscErrorCode DMPlexInterpolate(PetscDM, PetscDM*)
43    PetscErrorCode DMPlexUninterpolate(PetscDM, PetscDM*)
44    PetscErrorCode DMPlexGetPointLocal(PetscDM, PetscInt, PetscInt*, PetscInt*)
45    PetscErrorCode DMPlexGetPointGlobal(PetscDM, PetscInt, PetscInt*, PetscInt*)
46    PetscErrorCode DMPlexGetPointLocalField(PetscDM, PetscInt, PetscInt, PetscInt*, PetscInt*)
47    PetscErrorCode DMPlexGetPointGlobalField(PetscDM, PetscInt, PetscInt, PetscInt*, PetscInt*)
48    PetscErrorCode DMPlexCreateClosureIndex(PetscDM, PetscSection)
49
50    PetscErrorCode DMPlexGetCellNumbering(PetscDM, PetscIS*)
51    PetscErrorCode DMPlexGetVertexNumbering(PetscDM, PetscIS*)
52    PetscErrorCode DMPlexCreatePointNumbering(PetscDM, PetscIS*)
53
54    PetscErrorCode DMPlexGetDepth(PetscDM, PetscInt*)
55    PetscErrorCode DMPlexGetDepthStratum(PetscDM, PetscInt, PetscInt*, PetscInt*)
56    PetscErrorCode DMPlexGetHeightStratum(PetscDM, PetscInt, PetscInt*, PetscInt*)
57    PetscErrorCode DMPlexGetPointDepth(PetscDM, PetscInt, PetscInt*)
58    PetscErrorCode DMPlexGetPointHeight(PetscDM, PetscInt, PetscInt*)
59
60    PetscErrorCode DMPlexGetMeet(PetscDM, PetscInt, const PetscInt[], PetscInt*, const PetscInt**)
61    PetscErrorCode DMPlexRestoreMeet(PetscDM, PetscInt, const PetscInt[], PetscInt*, const PetscInt**)
62    PetscErrorCode DMPlexGetJoin(PetscDM, PetscInt, const PetscInt[], PetscInt*, const PetscInt**)
63    PetscErrorCode DMPlexGetFullJoin(PetscDM, PetscInt, const PetscInt[], PetscInt*, const PetscInt**)
64    PetscErrorCode DMPlexRestoreJoin(PetscDM, PetscInt, const PetscInt[], PetscInt*, const PetscInt**)
65    PetscErrorCode DMPlexGetTransitiveClosure(PetscDM, PetscInt, PetscBool, PetscInt*, PetscInt*[])
66    PetscErrorCode DMPlexRestoreTransitiveClosure(PetscDM, PetscInt, PetscBool, PetscInt*, PetscInt*[])
67    PetscErrorCode DMPlexVecGetClosure(PetscDM, PetscSection, PetscVec, PetscInt, PetscInt*, PetscScalar*[])
68    PetscErrorCode DMPlexVecRestoreClosure(PetscDM, PetscSection, PetscVec, PetscInt, PetscInt*, PetscScalar*[])
69    PetscErrorCode DMPlexVecSetClosure(PetscDM, PetscSection, PetscVec, PetscInt, PetscScalar[], PetscInsertMode)
70    PetscErrorCode DMPlexMatSetClosure(PetscDM, PetscSection, PetscSection, PetscMat, PetscInt, PetscScalar[], PetscInsertMode)
71
72    PetscErrorCode DMPlexGenerate(PetscDM, const char[], PetscBool , PetscDM*)
73    PetscErrorCode DMPlexTriangleSetOptions(PetscDM, const char*)
74    PetscErrorCode DMPlexTetgenSetOptions(PetscDM, const char*)
75    PetscErrorCode DMPlexCreateBoxMesh(MPI_Comm, PetscInt, PetscBool, PetscInt[], PetscReal[], PetscReal[], PetscDMBoundaryType[], PetscBool, PetscInt, PetscBool, PetscDM*)
76    PetscErrorCode DMPlexCreateBoxSurfaceMesh(MPI_Comm, PetscInt, PetscInt[], PetscReal[], PetscReal[], PetscBool, PetscDM*)
77    PetscErrorCode DMPlexCreateFromFile(MPI_Comm, const char[], const char[], PetscBool, PetscDM*)
78    PetscErrorCode DMPlexCreateCGNS(MPI_Comm, PetscInt, PetscBool, PetscDM*)
79    PetscErrorCode DMPlexCreateCGNSFromFile(MPI_Comm, const char[], PetscBool, PetscDM*)
80    PetscErrorCode DMPlexCreateExodus(MPI_Comm, int, PetscBool, PetscDM*)
81    PetscErrorCode DMPlexCreateExodusFromFile(MPI_Comm, const char[], PetscBool, PetscDM*)
82    PetscErrorCode DMPlexCreateGmsh(MPI_Comm, PetscViewer, PetscBool, PetscDM*)
83    PetscErrorCode DMPlexCreateCoordinateSpace(PetscDM, PetscInt, PetscBool, PetscBool)
84
85    PetscErrorCode DMPlexFilter(PetscDM, PetscDMLabel, PetscInt, PetscBool, PetscBool, MPI_Comm, PetscSF *, PetscDM *)
86
87    PetscErrorCode DMPlexSetAdjacencyUseAnchors(PetscDM, PetscBool)
88    PetscErrorCode DMPlexGetAdjacencyUseAnchors(PetscDM, PetscBool*)
89    PetscErrorCode DMPlexGetAdjacency(PetscDM, PetscInt, PetscInt*, PetscInt*[])
90    PetscErrorCode DMPlexRebalanceSharedPoints(PetscDM, PetscInt, PetscBool, PetscBool, PetscBool*)
91    PetscErrorCode DMPlexDistribute(PetscDM, PetscInt, PetscSF*, PetscDM*)
92    PetscErrorCode DMPlexDistributeOverlap(PetscDM, PetscInt, PetscSF*, PetscDM*)
93    PetscErrorCode DMPlexDistributeGetDefault(PetscDM, PetscBool*)
94    PetscErrorCode DMPlexDistributeSetDefault(PetscDM, PetscBool)
95    PetscErrorCode DMPlexSetPartitioner(PetscDM, PetscPartitioner)
96    PetscErrorCode DMPlexGetPartitioner(PetscDM, PetscPartitioner*)
97    PetscErrorCode DMPlexDistributeField(PetscDM, PetscSF, PetscSection, PetscVec, PetscSection, PetscVec)
98    PetscErrorCode DMPlexIsDistributed(PetscDM, PetscBool*)
99    PetscErrorCode DMPlexIsSimplex(PetscDM, PetscBool*)
100    PetscErrorCode DMPlexDistributionSetName(PetscDM, const char[])
101    PetscErrorCode DMPlexDistributionGetName(PetscDM, const char*[])
102
103    PetscErrorCode DMPlexGetOrdering(PetscDM, PetscMatOrderingType, PetscDMLabel, PetscIS*)
104    PetscErrorCode DMPlexPermute(PetscDM, PetscIS, PetscDM*)
105    PetscErrorCode DMPlexReorderGetDefault(PetscDM, PetscDMReorderDefaultFlag*)
106    PetscErrorCode DMPlexReorderSetDefault(PetscDM, PetscDMReorderDefaultFlag)
107
108    PetscErrorCode DMPlexGetSubpointMap(PetscDM, PetscDMLabel*)
109    PetscErrorCode DMPlexGetSubpointIS(PetscDM, PetscIS*)
110
111    PetscErrorCode DMPlexCreateCoarsePointIS(PetscDM, PetscIS*)
112    PetscErrorCode DMPlexMarkBoundaryFaces(PetscDM, PetscInt, PetscDMLabel)
113    PetscErrorCode DMPlexLabelComplete(PetscDM, PetscDMLabel)
114    PetscErrorCode DMPlexLabelCohesiveComplete(PetscDM, PetscDMLabel, PetscDMLabel, PetscInt, PetscBool, PetscBool, PetscDM)
115
116    PetscErrorCode DMPlexGetRefinementLimit(PetscDM, PetscReal*)
117    PetscErrorCode DMPlexSetRefinementLimit(PetscDM, PetscReal)
118    PetscErrorCode DMPlexGetRefinementUniform(PetscDM, PetscBool*)
119    PetscErrorCode DMPlexSetRefinementUniform(PetscDM, PetscBool)
120
121    PetscErrorCode DMPlexGetMinRadius(PetscDM, PetscReal*)
122
123    PetscErrorCode DMPlexCreateSection(PetscDM, PetscDMLabel[], const PetscInt[], const PetscInt[], PetscInt, const PetscInt[], const PetscIS[], const PetscIS[], PetscIS, PetscSection*)
124
125    PetscErrorCode DMPlexComputeCellGeometryFVM(PetscDM, PetscInt, PetscReal*, PetscReal[], PetscReal[])
126    PetscErrorCode DMPlexConstructGhostCells(PetscDM, const char[], PetscInt*, PetscDM*)
127
128    PetscErrorCode DMPlexMetricSetFromOptions(PetscDM)
129    PetscErrorCode DMPlexMetricSetUniform(PetscDM, PetscBool)
130    PetscErrorCode DMPlexMetricIsUniform(PetscDM, PetscBool*)
131    PetscErrorCode DMPlexMetricSetIsotropic(PetscDM, PetscBool)
132    PetscErrorCode DMPlexMetricIsIsotropic(PetscDM, PetscBool*)
133    PetscErrorCode DMPlexMetricSetRestrictAnisotropyFirst(PetscDM, PetscBool)
134    PetscErrorCode DMPlexMetricRestrictAnisotropyFirst(PetscDM, PetscBool*)
135    PetscErrorCode DMPlexMetricSetNoInsertion(PetscDM, PetscBool)
136    PetscErrorCode DMPlexMetricNoInsertion(PetscDM, PetscBool*)
137    PetscErrorCode DMPlexMetricSetNoSwapping(PetscDM, PetscBool)
138    PetscErrorCode DMPlexMetricNoSwapping(PetscDM, PetscBool*)
139    PetscErrorCode DMPlexMetricSetNoMovement(PetscDM, PetscBool)
140    PetscErrorCode DMPlexMetricNoMovement(PetscDM, PetscBool*)
141    PetscErrorCode DMPlexMetricSetNoSurf(PetscDM, PetscBool)
142    PetscErrorCode DMPlexMetricNoSurf(PetscDM, PetscBool*)
143    PetscErrorCode DMPlexMetricSetVerbosity(PetscDM, PetscInt)
144    PetscErrorCode DMPlexMetricGetVerbosity(PetscDM, PetscInt*)
145    PetscErrorCode DMPlexMetricSetNumIterations(PetscDM, PetscInt)
146    PetscErrorCode DMPlexMetricGetNumIterations(PetscDM, PetscInt*)
147    PetscErrorCode DMPlexMetricSetMinimumMagnitude(PetscDM, PetscReal)
148    PetscErrorCode DMPlexMetricGetMinimumMagnitude(PetscDM, PetscReal*)
149    PetscErrorCode DMPlexMetricSetMaximumMagnitude(PetscDM, PetscReal)
150    PetscErrorCode DMPlexMetricGetMaximumMagnitude(PetscDM, PetscReal*)
151    PetscErrorCode DMPlexMetricSetMaximumAnisotropy(PetscDM, PetscReal)
152    PetscErrorCode DMPlexMetricGetMaximumAnisotropy(PetscDM, PetscReal*)
153    PetscErrorCode DMPlexMetricSetTargetComplexity(PetscDM, PetscReal)
154    PetscErrorCode DMPlexMetricGetTargetComplexity(PetscDM, PetscReal*)
155    PetscErrorCode DMPlexMetricSetNormalizationOrder(PetscDM, PetscReal)
156    PetscErrorCode DMPlexMetricGetNormalizationOrder(PetscDM, PetscReal*)
157    PetscErrorCode DMPlexMetricSetGradationFactor(PetscDM, PetscReal)
158    PetscErrorCode DMPlexMetricGetGradationFactor(PetscDM, PetscReal*)
159    PetscErrorCode DMPlexMetricSetHausdorffNumber(PetscDM, PetscReal)
160    PetscErrorCode DMPlexMetricGetHausdorffNumber(PetscDM, PetscReal*)
161    PetscErrorCode DMPlexMetricCreate(PetscDM, PetscInt, PetscVec*)
162    PetscErrorCode DMPlexMetricCreateUniform(PetscDM, PetscInt, PetscReal, PetscVec*)
163    PetscErrorCode DMPlexMetricCreateIsotropic(PetscDM, PetscInt, PetscVec, PetscVec*)
164    PetscErrorCode DMPlexMetricDeterminantCreate(PetscDM, PetscInt, PetscVec*, PetscDM*)
165    PetscErrorCode DMPlexMetricEnforceSPD(PetscDM, PetscVec, PetscBool, PetscBool, PetscVec, PetscVec)
166    PetscErrorCode DMPlexMetricNormalize(PetscDM, PetscVec, PetscBool, PetscBool, PetscVec, PetscVec)
167    PetscErrorCode DMPlexMetricAverage2(PetscDM, PetscVec, PetscVec, PetscVec)
168    PetscErrorCode DMPlexMetricAverage3(PetscDM, PetscVec, PetscVec, PetscVec, PetscVec)
169    PetscErrorCode DMPlexMetricIntersection2(PetscDM, PetscVec, PetscVec, PetscVec)
170    PetscErrorCode DMPlexMetricIntersection3(PetscDM, PetscVec, PetscVec, PetscVec, PetscVec)
171
172    PetscErrorCode DMPlexComputeGradientClementInterpolant(PetscDM, PetscVec, PetscVec)
173
174    PetscErrorCode DMPlexTopologyView(PetscDM, PetscViewer)
175    PetscErrorCode DMPlexCoordinatesView(PetscDM, PetscViewer)
176    PetscErrorCode DMPlexLabelsView(PetscDM, PetscViewer)
177    PetscErrorCode DMPlexSectionView(PetscDM, PetscViewer, PetscDM)
178    PetscErrorCode DMPlexGlobalVectorView(PetscDM, PetscViewer, PetscDM, PetscVec)
179    PetscErrorCode DMPlexLocalVectorView(PetscDM, PetscViewer, PetscDM, PetscVec)
180
181    PetscErrorCode DMPlexTopologyLoad(PetscDM, PetscViewer, PetscSF*)
182    PetscErrorCode DMPlexCoordinatesLoad(PetscDM, PetscViewer, PetscSF)
183    PetscErrorCode DMPlexLabelsLoad(PetscDM, PetscViewer, PetscSF)
184    PetscErrorCode DMPlexSectionLoad(PetscDM, PetscViewer, PetscDM, PetscSF, PetscSF*, PetscSF*)
185    PetscErrorCode DMPlexGlobalVectorLoad(PetscDM, PetscViewer, PetscDM, PetscSF, PetscVec)
186    PetscErrorCode DMPlexLocalVectorLoad(PetscDM, PetscViewer, PetscDM, PetscSF, PetscVec)
187
188    PetscErrorCode DMPlexTransformApply(PetscDMPlexTransform, PetscDM, PetscDM *)
189    PetscErrorCode DMPlexTransformCreate(MPI_Comm, PetscDMPlexTransform *)
190    PetscErrorCode DMPlexTransformDestroy(PetscDMPlexTransform*)
191    PetscErrorCode DMPlexTransformGetType(PetscDMPlexTransform, PetscDMPlexTransformType *)
192    PetscErrorCode DMPlexTransformSetType(PetscDMPlexTransform tr, PetscDMPlexTransformType method)
193    PetscErrorCode DMPlexTransformSetFromOptions(PetscDMPlexTransform)
194    PetscErrorCode DMPlexTransformSetDM(PetscDMPlexTransform, PetscDM)
195    PetscErrorCode DMPlexTransformSetUp(PetscDMPlexTransform)
196    PetscErrorCode DMPlexTransformView(PetscDMPlexTransform tr, PetscViewer v)
197
198    PetscErrorCode DMPlexCreateNaturalVector(PetscDM, PetscVec *)
199    PetscErrorCode DMPlexNaturalToGlobalBegin(PetscDM, PetscVec, PetscVec)
200    PetscErrorCode DMPlexNaturalToGlobalEnd(PetscDM, PetscVec, PetscVec)
201    PetscErrorCode DMPlexGlobalToNaturalBegin(PetscDM, PetscVec, PetscVec)
202    PetscErrorCode DMPlexGlobalToNaturalEnd(PetscDM, PetscVec, PetscVec)
203    PetscErrorCode DMPlexGetMigrationSF(PetscDM, PetscSF *)
204    PetscErrorCode DMPlexSetMigrationSF(PetscDM, PetscSF)
205    PetscErrorCode DMPlexCreateGlobalToNaturalSF(PetscDM, PetscSection, PetscSF, PetscSF *)
206    PetscErrorCode DMPlexMigrateGlobalToNaturalSF(PetscDM, PetscDM, PetscSF, PetscSF, PetscSF *)
207