Actual source code: petscsys.h90
petsc-3.15.0 2021-03-30
Report Typos and Errors

      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