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 PetscInitialize(c,ierr)
154: character(len=*), intent(in) :: c
155: PetscErrorCode, intent(out) :: ierr
156: end Subroutine PetscInitialize
158: subroutine PetscInitializeNoArguments(ierr)
159: PetscErrorCode, intent(out) :: ierr
160: end Subroutine PetscInitializeNoArguments
162: subroutine PetscFinalize(ierr)
163: PetscErrorCode, intent(out) :: ierr
164: end Subroutine PetscFinalize
166: subroutine PetscRandomView(a,b,ierr)
167: import tPetscRandom,tPetscViewer
168: PetscRandom a
169: PetscViewer b
170: PetscErrorCode ierr
171: end subroutine
173: subroutine PetscSubcommView(a,b,z)
174: import tPetscSubComm,tPetscViewer
175: PetscSubcomm a ! PetscSubcomm
176: PetscViewer b ! PetscViewer
177: PetscErrorCode z
178: end subroutine
179: subroutine PetscSubcommGetParent(a,b,z)
180: import tPetscSubComm
181: PetscSubcomm a ! PetscSubcomm
182: MPI_Comm b ! MPI_Comm
183: PetscErrorCode z
184: end subroutine
185: subroutine PetscSubcommGetContiguousParent(a,b,z)
186: import tPetscSubComm
187: PetscSubcomm a ! PetscSubcomm
188: MPI_Comm b ! MPI_Comm
189: PetscErrorCode z
190: end subroutine
191: subroutine PetscSubcommGetChild(a,b,z)
192: import tPetscSubComm
193: PetscSubcomm a ! PetscSubcomm
194: MPI_Comm b ! MPI_Comm
195: PetscErrorCode z
196: end subroutine
198: subroutine MPIU_abort(comm,ierr)
199: MPI_Comm,intent(in) :: comm
200: PetscErrorCode,intent(in) :: ierr
201: end subroutine
203: subroutine PetscLogEventRegister(name,classid,event,ierr)
204: character(len=*), intent(in) :: name
205: PetscClassId, intent(in) :: classid
206: PetscLogEvent, intent(in) :: event
207: PetscErrorCode, intent(out) :: ierr
208: end subroutine PetscLogEventRegister
210: subroutine PetscLogStageRegister(name,stage,ierr)
211: character(len=*), intent(in) :: name
212: PetscLogStage, intent(out) :: stage
213: PetscErrorCode, intent(out) :: ierr
214: end subroutine PetscLogStageRegister
216: subroutine PetscLogEventBegin(event,ierr)
217: PetscLogEvent, intent(in) :: event
218: PetscErrorCode, intent(out) :: ierr
219: end subroutine PetscLogEventBegin
221: subroutine PetscLogEventEnd(event,ierr)
222: PetscLogEvent, intent(in) :: event
223: PetscErrorCode, intent(out) :: ierr
224: end subroutine PetscLogEventEnd
226: subroutine PetscLogStagePop(ierr)
227: PetscErrorCode, intent(out) :: ierr
228: end subroutine PetscLogStagePop
230: subroutine PetscLogStagePush(s,ierr)
231: PetscLogStage, intent(in) :: s
232: PetscErrorCode, intent(out) :: ierr
233: end subroutine PetscLogStagePush
234: end Interface
236: #if defined(PETSC_USE_LOG)
237: Interface
238: function PetscASend(c, d) bind(c,name='PetscASend') result(i)
239: use iso_c_binding
240: implicit none
241: integer(c_int), value :: c
242: integer(c_int), value :: d
243: integer(c_int) :: i
244: end function PetscASend
246: function PetscARecv(c, d) bind(c,name='PetscARecv') result(i)
247: use iso_c_binding
248: implicit none
249: integer(c_int), value :: c
250: integer(c_int), value :: d
251: integer(c_int) :: i
252: end function PetscARecv
254: function PetscAReduce() bind(c,name='PetscAReduce') result(i)
255: use iso_c_binding
256: implicit none
257: integer(c_int) :: i
258: end function PetscAReduce
259: end Interface
260: #endif