1
2      Interface
3        Subroutine DMPlexGetCone(m,p,cone,ierr)
4          use petscdmdef
5          PetscInt     p
6          PetscInt, pointer :: cone(:)
7          PetscErrorCode ierr
8          DM m
9        End Subroutine
10      End Interface
11
12      Interface
13        Subroutine DMPlexRestoreCone(m,p,cone,ierr)
14          use petscdmdef
15          PetscInt     p
16          PetscInt, pointer :: cone(:)
17          PetscErrorCode ierr
18          DM m
19        End Subroutine
20      End Interface
21
22      Interface
23        Subroutine DMPlexGetConeOrientation(m,p,coneOrient,ierr)
24          use petscdmdef
25          PetscInt     p
26          PetscInt, pointer :: coneOrient(:)
27          PetscErrorCode ierr
28          DM m
29        End Subroutine
30      End Interface
31
32      Interface
33        Subroutine DMPlexRestoreConeOrientation(m,p,coneOrient,ierr)
34          use petscdmdef
35          PetscInt     p
36          PetscInt, pointer :: coneOrient(:)
37          PetscErrorCode ierr
38          DM m
39        End Subroutine
40      End Interface
41
42      Interface
43        Subroutine DMPlexGetSupport(m,p,support,ierr)
44          use petscdmdef
45          PetscInt     p
46          PetscInt, pointer :: support(:)
47          PetscErrorCode ierr
48          DM m
49        End Subroutine
50      End Interface
51
52      Interface
53        Subroutine DMPlexRestoreSupport(m,p,support,ierr)
54          use petscdmdef
55          PetscInt     p
56          PetscInt, pointer :: support(:)
57          PetscErrorCode ierr
58          DM m
59        End Subroutine
60      End Interface
61
62      Interface
63        Subroutine DMPlexGetTransitiveClosure(m,p,useCone,points,ierr)
64          use petscdmdef
65          PetscInt     p
66          PetscBool    useCone
67          PetscInt, pointer :: points(:)
68          PetscErrorCode ierr
69          DM m
70        End Subroutine
71      End Interface
72
73      Interface
74        Subroutine DMPlexRestoreTransitiveClosure(m,p,uC,points,ierr)
75          use petscdmdef
76          PetscInt     p
77          PetscBool    uC
78          PetscInt, pointer :: points(:)
79          PetscErrorCode ierr
80          DM m
81        End Subroutine
82      End Interface
83
84      Interface
85        Subroutine DMPlexGetJoin(m,numPoints,points,join,ierr)
86          use petscdmdef
87          PetscInt     numPoints
88          PetscInt, pointer :: points(:)
89          PetscInt, pointer :: join(:)
90          PetscErrorCode ierr
91          DM m
92        End Subroutine
93      End Interface
94
95      Interface
96        Subroutine DMPlexGetFullJoin(m,numPoints,points,join,ierr)
97          use petscdmdef
98          PetscInt     numPoints
99          PetscInt, pointer :: points(:)
100          PetscInt, pointer :: join(:)
101          PetscErrorCode ierr
102          DM m
103        End Subroutine
104      End Interface
105
106      Interface
107        Subroutine DMPlexRestoreJoin(m,numPoints,points,join,ierr)
108          use petscdmdef
109          PetscInt     numPoints
110          PetscInt, pointer :: points(:)
111          PetscInt, pointer :: join(:)
112          PetscErrorCode ierr
113          DM m
114        End Subroutine
115      End Interface
116
117      Interface
118        Subroutine DMPlexGetMeet(m,numPoints,points,meet,ierr)
119          use petscdmdef
120          PetscInt     numPoints
121          PetscInt, pointer :: points(:)
122          PetscInt, pointer :: meet(:)
123          PetscErrorCode ierr
124          DM m
125        End Subroutine
126      End Interface
127
128      Interface
129        Subroutine DMPlexGetFullMeet(m,numPoints,points,meet,ierr)
130          use petscdmdef
131          PetscInt     numPoints
132          PetscInt, pointer :: points(:)
133          PetscInt, pointer :: meet(:)
134          PetscErrorCode ierr
135          DM m
136        End Subroutine
137      End Interface
138
139      Interface
140        Subroutine DMPlexRestoreMeet(m,numPoints,points,meet,ierr)
141          use petscdmdef
142          PetscInt     numPoints
143          PetscInt, pointer :: points(:)
144          PetscInt, pointer :: meet(:)
145          PetscErrorCode ierr
146          DM m
147        End Subroutine
148      End Interface
149
150      Interface
151        Subroutine DMPlexVecGetClosure(m,section,v,point,values,ierr)
152          use petscdmdef
153          PetscSection section
154          Vec     v
155          PetscInt     point
156          PetscScalar, pointer :: values(:)
157          PetscErrorCode ierr
158          DM m
159        End Subroutine
160      End Interface
161
162      Interface
163        Subroutine DMPlexVecRestoreClosure(m,section,v,point,vs,ierr)
164          use petscdmdef
165          PetscSection section
166          Vec     v
167          PetscInt     point
168          PetscScalar, pointer :: vs(:)
169          PetscErrorCode ierr
170          DM m
171        End Subroutine
172      End Interface
173
174      Interface
175        Subroutine DMPlexVecSetClosure(m,sec,v,point,vs,mode,ierr)
176          use petscdmdef
177          PetscSection sec
178          Vec     v
179          PetscInt     point
180          InsertMode   mode
181          PetscScalar, pointer :: vs(:)
182          PetscErrorCode ierr
183          DM m
184        End Subroutine
185      End Interface
186
187      Interface
188        Subroutine DMPlexMatSetClosure(m,s,gS,A,p,v,mode,ierr)
189          use petscdmdef
190          PetscSection s
191          PetscSection gS
192          Mat     A
193          PetscInt     p
194          InsertMode   mode
195          PetscScalar, pointer :: v(:)
196          PetscErrorCode ierr
197          DM m
198        End Subroutine
199      End Interface
200
201      Interface
202        Subroutine DMPlexCreateSection(m,l,nC,nD,nB,bF,bC,bP,pm,sc,e)
203          use petscdmdef
204          PetscSection sc
205          PetscInt     nB
206          DMLabel,  pointer :: l(:)
207          PetscInt, pointer :: nC(:)
208          PetscInt, pointer :: nD(:)
209          PetscInt, pointer :: bF(:)
210          IS,       pointer :: bC(:)
211          IS,       pointer :: bP(:)
212          IS        pm
213          PetscErrorCode e
214          DM m
215        End Subroutine
216      End Interface
217
218      Interface
219        Subroutine DMPlexComputeCellGeometryAffineFEM(m,c,v0,J,iJ,dJ,er)
220          use petscdmdef
221          PetscInt   c
222          PetscReal, pointer :: v0(:)
223          PetscReal, pointer :: J(:)
224          PetscReal, pointer :: iJ(:)
225          PetscReal  dJ
226          PetscErrorCode er
227          DM m
228        End Subroutine
229      End Interface
230
231      Interface
232        Subroutine DMPlexComputeCellGeometryFEM(m,c,fe,v0,J,iJ,dJ,er)
233          use petscdmdef
234          PetscInt   c
235          PetscReal, pointer :: v0(:)
236          PetscReal, pointer :: J(:)
237          PetscReal, pointer :: iJ(:)
238          PetscReal  dJ
239          PetscErrorCode er
240          PetscFE fe
241          DM m
242        End Subroutine
243      End Interface
244
245      Interface
246        Subroutine DMPlexComputeCellGeometryFVM(m,cell,vol,ct,nm,ierr)
247          use petscdmdef
248          PetscInt   cell
249          PetscReal  vol
250          PetscReal, pointer :: ct(:)
251          PetscReal, pointer :: nm(:)
252          PetscErrorCode ierr
253          DM m
254        End Subroutine
255      End Interface
256
257      Interface
258        Subroutine DMPlexGetCellFields(m,s,e,x,xt,a,u,ut,v,ierr)
259          use petscdmdef
260          PetscInt  s, e
261          Vec  x, xt, a
262          PetscScalar, pointer :: u(:)
263          PetscScalar, pointer :: ut(:)
264          PetscScalar, pointer :: v(:)
265          PetscErrorCode ierr
266          DM m
267        End Subroutine
268      End Interface
269
270      Interface
271        Subroutine DMPlexRestoreCellFields(m,s,e,x,xt,a,u,ut,v,ierr)
272          use petscdmdef
273          PetscInt  s, e
274          Vec  x, xt, a
275          PetscScalar, pointer :: u(:)
276          PetscScalar, pointer :: ut(:)
277          PetscScalar, pointer :: v(:)
278          PetscErrorCode ierr
279          DM m
280        End Subroutine
281      End Interface
282
283      Interface
284        Subroutine DMPlexGetFaceFields(m,s,e,x,xt,f,c,g,uL,uR,ierr)
285          use petscdmdef
286          PetscInt  s, e
287          Vec  x, xt, f, c, g
288          PetscScalar, pointer :: uL(:)
289          PetscScalar, pointer :: uR(:)
290          PetscErrorCode ierr
291          DM m
292        End Subroutine
293      End Interface
294
295      Interface
296        Subroutine DMPlexRestoreFaceFields(m,s,e,x,xt,f,c,g,uL,uR,ierr)
297          use petscdmdef
298          PetscInt  s, e
299          Vec  x, xt, f, c, g
300          PetscScalar, pointer :: uL(:)
301          PetscScalar, pointer :: uR(:)
302          PetscErrorCode ierr
303          DM m
304        End Subroutine
305      End Interface
306
307      Interface
308        Subroutine DMPlexGetFaceGeometry(m,s,e,f,c,g,v,ierr)
309          use petscdmdef
310          PetscInt  s, e
311          Vec  f, c
312          PetscScalar, pointer :: g(:)
313          PetscScalar, pointer :: v(:)
314          PetscErrorCode ierr
315          DM m
316        End Subroutine
317      End Interface
318
319      Interface
320        Subroutine DMPlexRestoreFaceGeometry(m,s,e,f,c,g,v,ierr)
321          use petscdmdef
322          PetscInt  s, e
323          Vec  f, c
324          PetscScalar, pointer :: g(:)
325          PetscScalar, pointer :: v(:)
326          PetscErrorCode ierr
327          DM m
328        End Subroutine
329      End Interface
330
331      Interface
332        Subroutine DMPlexCreateFromFile(c,str,i,m,ierr)
333          use petscdmdef
334          MPI_Comm :: c
335          character(len=*) :: str
336          PetscBool, intent(in) :: i
337          DM, intent(out) :: m
338          PetscErrorCode, intent(out):: ierr
339        End Subroutine
340      End Interface
341
342      Interface
343        Subroutine DMPlexDistribute(m,o,sf,mp,ierr)
344          use petscdmdef
345          DM, intent(in) :: m
346          PetscInt, intent(in) :: o
347          PetscSF :: sf
348          DM, intent(out) :: mp
349          PetscErrorCode, intent(out):: ierr
350        End Subroutine
351      End Interface
352
353      Interface
354        Subroutine DMPlexCreateDefault(m,ierr)
355          use petscdmdef
356          DM, intent(out) :: m
357          PetscErrorCode, intent(out):: ierr
358        End Subroutine
359      End Interface
360