Actual source code: petscsys.h90

petsc-3.13.6 2020-09-29
Report Typos and Errors
  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