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