aboutsummaryrefslogtreecommitdiff
path: root/src/cctk_Comm.F90
blob: ba5236ba56a4009803f6d1139d8ad437e063f25b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#include "cctk.h"

module cctk_Comm
  implicit none

  interface

     subroutine CCTK_SyncGroup (ierr, GH, group)
       implicit none
       integer               ierr
       CCTK_POINTER_TO_CONST GH
       character(*)          group
     end subroutine CCTK_SyncGroup

     subroutine CCTK_Barrier (ierr, GH)
       implicit none
       integer               ierr
       CCTK_POINTER_TO_CONST GH
     end subroutine CCTK_Barrier

! This routine has been made a function instead of a subroutine
! and is declared in cctk.h
!     subroutine CCTK_MyProc (ierr, GH)
!       implicit none
!       integer               ierr
!       CCTK_POINTER_TO_CONST GH
!     end subroutine CCTK_MyProc

! This routine has been made a function instead of a subroutine
! and is declared in cctk.h
!     subroutine CCTK_nProcs (ierr, GH)
!       implicit none
!       integer               ierr
!       CCTK_POINTER_TO_CONST GH
!     end subroutine CCTK_nProcs

     subroutine CCTK_ParallelInit (ierr, GH)
       implicit none
       integer               ierr
       CCTK_POINTER_TO_CONST GH
     end subroutine CCTK_ParallelInit

     subroutine CCTK_Exit (ierr, GH, retval)
       implicit none
       integer      ierr
       CCTK_POINTER GH
       integer      retval
     end subroutine CCTK_Exit

     subroutine CCTK_Abort (ierr, GH, retval)
       implicit none
       integer      ierr
       CCTK_POINTER GH
       integer      retval
     end subroutine CCTK_Abort

     subroutine CCTK_SetupGH (GH, config, convergence_level)
       implicit none
       CCTK_POINTER GH
       CCTK_POINTER config
       integer      convergence_level
     end subroutine CCTK_SetupGH

! CCTK_ArrayGroupSizeB is not available from Fortran

     subroutine CCTK_QueryGroupStorageB (ierr, GH, group, groupname)
       implicit none
       integer               ierr
       CCTK_POINTER_TO_CONST GH
       integer               group
       character(*)          groupname
     end subroutine CCTK_QueryGroupStorageB

     subroutine CCTK_GroupDynamicData (ierr, GH, group, data)
       implicit none
       integer               ierr
       CCTK_POINTER_TO_CONST GH
       integer               group
       CCTK_POINTER          data
     end subroutine CCTK_GroupDynamicData

     subroutine CCTK_GroupStorageIncrease &
          (ierr, GH, n_groups, groups, timelevels, status)
       implicit none
       integer               ierr
       CCTK_POINTER_TO_CONST GH
       integer               n_groups
       integer               groups(n_groups)
       integer               timelevels(n_groups)
       integer               status(n_groups)
     end subroutine CCTK_GroupStorageIncrease

     subroutine CCTK_GroupStorageDecrease &
          (ierr, GH, n_groups, groups, timelevels, status)
       implicit none
       integer               ierr
       CCTK_POINTER_TO_CONST GH
       integer               n_groups
       integer               groups(n_groups)
       integer               timelevels(n_groups)
       integer               status(n_groups)
     end subroutine CCTK_GroupStorageDecrease

     subroutine CCTK_InterpGridArrays           &
          (ierr,                                &
           GH,                                  &
           N_dims,                              &
           local_interp_handle,                 &
           param_table_handle,                  &
           coord_system_handle,                 &
           N_interp_points,                     &
             interp_coords_type,                &
             interp_coords,                     &
           N_input_arrays,                      &
             input_array_indices,               &
           N_output_arrays,                     &
             output_array_types,                &
             output_arrays)
       implicit none
       integer               ierr
       CCTK_POINTER_TO_CONST GH
       integer               N_dims
       integer               local_interp_handle
       integer               param_table_handle
       integer               coord_system_handle
       integer               N_interp_points
       integer                 interp_coords_type
       CCTK_POINTER_TO_CONST   interp_coords(N_dims)
       integer               N_input_arrays
       CCTK_INT                input_array_indices(N_input_arrays)
       integer               N_output_arrays
       CCTK_INT                output_array_types(N_output_arrays)
       CCTK_POINTER            output_arrays(N_output_arrays)
     end subroutine CCTK_InterpGridArrays

     subroutine CCTK_QueryGroupStorage (ierr, GH, groupname)
       implicit none
       integer               ierr
       CCTK_POINTER_TO_CONST GH
       character(*)          groupname
     end subroutine CCTK_QueryGroupStorage

     subroutine CCTK_QueryGroupStorageI (ierr, GH, group)
       implicit none
       integer               ierr
       CCTK_POINTER_TO_CONST GH
       integer               group
     end subroutine CCTK_QueryGroupStorageI

! CCTK_ArrayGroupSize is not available from Fortran
! CCTK_ArrayGroupSizeI is not available from Fortran

  end interface

end module cctk_Comm