Actual source code: petscsys.h90
petsc-3.14.6 2021-03-30
1: #if defined(PETSC_HAVE_FORTRAN_TYPE_STAR)
2: Interface
3: subroutine PetscObjectReference(obj,ierr)
4: use petscsysdef
5: type(*) :: obj
6: PetscErrorCode :: ierr
7: end Subroutine PetscObjectReference
8: subroutine PetscObjectDereference(obj,ierr)
9: use petscsysdef
10: type(*) :: obj
11: PetscErrorCode :: ierr
12: end Subroutine PetscObjectDereference
13: subroutine PetscObjectGetReference(obj,c,ierr)
14: use petscsysdef
15: type(*) :: obj
16: PetscInt c
17: PetscErrorCode :: ierr
18: end Subroutine PetscObjectGetReference
19: subroutine PetscObjectCompose(obj,str,obj2,ierr)
20: use petscsysdef
21: type(*) :: obj,obj2
22: character(*) :: str
23: PetscErrorCode :: ierr
24: end Subroutine PetscObjectCompose
25: subroutine PetscObjectQuery(obj,str,obj2,ierr)
26: use petscsysdef
27: type(*) :: obj,obj2
28: character(*) :: str
29: PetscErrorCode :: ierr
30: end Subroutine PetscObjectQuery
31: subroutine PetscBarrier(a,z)
32: use petscsysdef
33: type(*) :: a
34: PetscErrorCode :: z
35: end subroutine
36: end Interface
37: #endif
39: Interface
40: Subroutine PetscPrintf(m,c,ierr)
41: use petscsysdef
42: MPI_Comm :: m
43: character(len=*) :: c
44: PetscErrorCode :: ierr
45: End Subroutine
46: Subroutine PetscOptionsGetInt(o,p,n,v,s,ierr)
47: use petscsysdef
48: PetscOptions o
49: PetscInt v
50: character(*) p,n
51: PetscBool s
52: PetscErrorCode ierr
53: End Subroutine
54: Subroutine PetscOptionsGetReal(o,p,n,v,s,ierr)
55: use petscsysdef
56: PetscOptions o
57: PetscReal v
58: character(*) p,n
59: PetscBool s
60: PetscErrorCode ierr
61: End Subroutine
62: Subroutine PetscOptionsGetScalar(o,p,n,v,s,ierr)
63: use petscsysdef
64: PetscOptions o
65: PetscScalar v
66: character(*) p,n
67: PetscBool s
68: PetscErrorCode ierr
69: End Subroutine
70: Subroutine PetscOptionsGetBool(o,p,n,v,s,ierr)
71: use petscsysdef
72: PetscOptions o
73: PetscBool v
74: character(*) p,n
75: PetscBool s
76: PetscErrorCode ierr
77: End Subroutine
78: Subroutine PetscOptionsGetString(o,p,n,v,s,ierr)
79: use petscsysdef
80: PetscOptions o
81: character(*) v
82: character(*) p,n
83: PetscBool s
84: PetscErrorCode ierr
85: End Subroutine
86: Subroutine PetscOptionsHasName(o,p,n,s,ierr)
87: use petscsysdef
88: PetscOptions o
89: character(*) p,n
90: PetscBool s
91: PetscErrorCode ierr
92: End Subroutine
93: Subroutine PetscOptionsGetIntArray(o,p,n,v,c,s,ierr)
94: use petscsysdef
95: PetscOptions o
96: PetscInt v(*),c
97: character(*) p,n
98: PetscBool s
99: PetscErrorCode ierr
100: End Subroutine
101: Subroutine PetscOptionsGetScalarArray(o,p,n,v,c,s,ierr)
102: use petscsysdef
103: PetscOptions o
104: PetscScalar v(*)
105: PetscInt c
106: character(*) p,n
107: PetscBool s
108: PetscErrorCode ierr
109: End Subroutine
110: Subroutine PetscOptionsGetRealArray(o,p,n,v,c,s,ierr)
111: use petscsysdef
112: PetscOptions o
113: PetscReal v(*)
114: PetscInt c
115: character(*) p,n
116: PetscBool s
117: PetscErrorCode ierr
118: End Subroutine
119: Subroutine PetscOptionsSetValue(o,n,v,ierr)
120: use petscsysdef
121: PetscOptions o
122: character(*) n,v
123: PetscErrorCode ierr
124: End Subroutine
125: Subroutine PetscOptionsClearValue(o,n,ierr)
126: use petscsysdef
127: PetscOptions o
128: character(*) n
129: PetscErrorCode ierr
130: End Subroutine
131: Subroutine PetscOptionsClear(o,ierr)
132: use petscsysdef
133: PetscOptions o
134: PetscErrorCode ierr
135: End Subroutine
136: Subroutine PetscOptionsInsertString(o,n,ierr)
137: use petscsysdef
138: PetscOptions o
139: character(*) n
140: PetscErrorCode ierr
141: End Subroutine
142: Subroutine PetscOptionsView(o,v,ierr)
143: use petscsysdef
144: PetscOptions, intent(in) :: o
145: PetscViewer, intent(in) :: v
146: PetscErrorCode, intent(out) :: ierr
147: End Subroutine PetscOptionsView
149: subroutine PetscRandomSetType(a,b,ierr)
150: use petscsysdef
151: PetscRandom a
152: character(*) b
153: PetscErrorCode ierr
154: end subroutine
156: subroutine PetscErrorf(ierr)
157: use petscsysdef
158: PetscErrorCode, intent(in) :: ierr
159: end Subroutine PetscErrorf
161: subroutine PetscInitialize(c,ierr)
162: use petscsysdef
163: character(len=*), intent(in) :: c
164: PetscErrorCode, intent(out) :: ierr
165: end Subroutine PetscInitialize
166:
167: subroutine PetscInitializeNoArguments(ierr)
168: use petscsysdef
169: PetscErrorCode, intent(out) :: ierr
170: end Subroutine PetscInitializeNoArguments
172: subroutine PetscFinalize(ierr)
173: use petscsysdef
174: PetscErrorCode, intent(out) :: ierr
175: end Subroutine PetscFinalize
177: subroutine PetscRandomView(a,b,ierr)
178: use petscsysdef
179: PetscRandom a
180: PetscViewer b
181: PetscErrorCode ierr
182: end subroutine
184: subroutine PetscSubcommView(a,b,z)
185: use petscsysdef
186: PetscSubcomm a ! PetscSubcomm
187: PetscViewer b ! PetscViewer
188: PetscErrorCode z
189: end subroutine
190: subroutine PetscSubcommGetParent(a,b,z)
191: use petscsysdef
192: PetscSubcomm a ! PetscSubcomm
193: MPI_Comm b ! MPI_Comm
194: PetscErrorCode z
195: end subroutine
196: subroutine PetscSubcommGetContiguousParent(a,b,z)
197: use petscsysdef
198: PetscSubcomm a ! PetscSubcomm
199: MPI_Comm b ! MPI_Comm
200: PetscErrorCode z
201: end subroutine
202: subroutine PetscSubcommGetChild(a,b,z)
203: use petscsysdef
204: PetscSubcomm a ! PetscSubcomm
205: MPI_Comm b ! MPI_Comm
206: PetscErrorCode z
207: end subroutine
209: subroutine MPIU_abort(comm,ierr)
210: MPI_Comm,intent(in) :: comm
211: PetscErrorCode,intent(in) :: ierr
212: end subroutine
214: subroutine PetscLogEventRegister(name,classid,event,ierr)
215: use petscsysdef
216: character(len=*), intent(in) :: name
217: PetscClassId, intent(in) :: classid
218: PetscLogEvent, intent(in) :: event
219: PetscErrorCode, intent(out) :: ierr
220: end subroutine PetscLogEventRegister
222: subroutine PetscLogStageRegister(name,stage,ierr)
223: use petscsysdef
224: character(len=*), intent(in) :: name
225: PetscLogStage, intent(out) :: stage
226: PetscErrorCode, intent(out) :: ierr
227: end subroutine PetscLogStageRegister
229: subroutine PetscLogEventBegin(event,ierr)
230: PetscLogEvent, intent(in) :: event
231: PetscErrorCode, intent(out) :: ierr
232: end subroutine PetscLogEventBegin
234: subroutine PetscLogEventEnd(event,ierr)
235: PetscLogEvent, intent(in) :: event
236: PetscErrorCode, intent(out) :: ierr
237: end subroutine PetscLogEventEnd
239: subroutine PetscLogStagePop(ierr)
240: PetscErrorCode, intent(out) :: ierr
241: end subroutine PetscLogStagePop
243: subroutine PetscLogStagePush(s,ierr)
244: use petscsysdef
245: PetscLogStage, intent(in) :: s
246: PetscErrorCode, intent(out) :: ierr
247: end subroutine PetscLogStagePush
248: end Interface
250: #if defined(PETSC_USE_LOG)
251: Interface
252: function PetscASend(c, d) bind(c,name='PetscASend') result(i)
253: use iso_c_binding
254: implicit none
255: integer(c_int), value :: c
256: integer(c_int), value :: d
257: integer(c_int) :: i
258: end function PetscASend
260: function PetscARecv(c, d) bind(c,name='PetscARecv') result(i)
261: use iso_c_binding
262: implicit none
263: integer(c_int), value :: c
264: integer(c_int), value :: d
265: integer(c_int) :: i
266: end function PetscARecv
268: function PetscAReduce() bind(c,name='PetscAReduce') result(i)
269: use iso_c_binding
270: implicit none
271: integer(c_int) :: i
272: end function PetscAReduce
273: end Interface
274: #endif