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