Actual source code: petscdmplex.h90
petsc-3.11.4 2019-09-28
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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