xref: /petsc/src/sys/ftn-mod/petscsys.h90 (revision bfe80ac4a46d58cb7760074b25f5e81b2f541d8a)
1      Interface
2       Subroutine PetscPrintf(m,c,ierr)
3          MPI_Comm :: m
4          character(len=*) :: c
5          PetscErrorCode :: ierr
6       End Subroutine
7
8#if defined(PETSC_HAVE_FORTRAN_FREE_LINE_LENGTH_NONE)
9      subroutine PetscErrorf(ierr,line,file)
10       PetscErrorCode, intent(in) :: ierr
11       integer, intent(in) ::  line
12       character(*) file
13      end Subroutine PetscErrorf
14
15      subroutine PetscErrorMPI(ierr,line,file)
16       PetscErrorCode, intent(inout) :: ierr
17       integer, intent(in) ::  line
18       character(*) file
19      end Subroutine PetscErrorMPI
20#else
21      subroutine PetscErrorf(ierr)
22       PetscErrorCode, intent(in) :: ierr
23      end Subroutine PetscErrorf
24
25      subroutine PetscErrorMPI(ierr)
26       PetscErrorCode, intent(inout) :: ierr
27      end Subroutine PetscErrorMPI
28#endif
29
30      subroutine MPIU_abort(comm,ierr)
31      MPI_Comm,intent(in) ::  comm
32      PetscErrorCode,intent(in) ::  ierr
33      end subroutine
34
35      subroutine PetscViewerASCIIStdoutSetFileUnit(unit,z)
36        integer4 unit
37        PetscErrorCode,intent(out) :: z
38      end subroutine
39
40      subroutine PetscLogEventBegin(event,ierr)
41        PetscLogEvent, intent(in) :: event
42        PetscErrorCode, intent(out) :: ierr
43      end subroutine PetscLogEventBegin
44
45      subroutine PetscLogEventEnd(event,ierr)
46        PetscLogEvent, intent(in) :: event
47        PetscErrorCode, intent(out) :: ierr
48      end subroutine PetscLogEventEnd
49      end Interface
50
51      Interface
52      function PetscASend(c, d) bind(c,name='PetscASend') result(i)
53          use,intrinsic :: iso_c_binding
54          implicit none
55          integer(c_int), value :: c
56          integer(c_int), value :: d
57          integer(c_int)        :: i
58      end function PetscASend
59
60      function PetscARecv(c, d) bind(c,name='PetscARecv') result(i)
61          use,intrinsic :: iso_c_binding
62          implicit none
63          integer(c_int), value :: c
64          integer(c_int), value :: d
65          integer(c_int)        :: i
66      end function PetscARecv
67
68      function PetscAReduce() bind(c,name='PetscAReduce') result(i)
69          use,intrinsic :: iso_c_binding
70          implicit none
71          integer(c_int) :: i
72      end function PetscAReduce
73      end Interface
74
75      Interface
76        Subroutine PetscIntArray1dDestroy(a,ierr)
77          PetscInt, Pointer :: a(:)
78          PetscErrorCode    :: ierr
79        End Subroutine
80      End Interface
81
82      Interface PetscShmgetAllocateArrayScalar
83        Subroutine PetscShmgetAllocateArrayScalar(start, len, d1, ierr)
84          PetscInt :: start, len
85          PetscScalar, pointer :: d1(:)
86          PetscErrorCode ierr
87        End Subroutine
88      End Interface
89
90      Interface PetscShmgetDeallocateArrayScalar
91        Subroutine PetscShmgetDeallocateArrayScalar(d1, ierr)
92          PetscScalar, pointer :: d1(:)
93          PetscErrorCode ierr
94        End Subroutine
95      End Interface
96
97      Interface PetscShmgetAllocateArrayInt
98        Subroutine PetscShmgetAllocateArrayInt(start, len, d1, ierr)
99          PetscInt :: start, len
100          PetscInt, pointer :: d1(:)
101          PetscErrorCode ierr
102        End Subroutine
103      End Interface
104
105      Interface PetscShmgetDeallocateArrayInt
106        Subroutine PetscShmgetDeallocateArrayInt(d1, ierr)
107          PetscInt, pointer :: d1(:)
108          PetscErrorCode ierr
109        End Subroutine
110      End Interface
111