FLASH-X
Doxygen Generated Documentation From Interface Source Code
Driver_interface.F90
Go to the documentation of this file.
1!! NOTICE
2!! Copyright 2022 UChicago Argonne, LLC and contributors
3!!
4!! Licensed under the Apache License, Version 2.0 (the "License");
5!! you may not use this file except in compliance with the License.
6!!
7!! Unless required by applicable law or agreed to in writing, software
8!! distributed under the License is distributed on an "AS IS" BASIS,
9!! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10!! See the License for the specific language governing permissions and
11!! limitations under the License.
12!!
19
20 implicit none
21
22# include "Simulation.h"
23# include "constants.h"
24
25 interface
26 subroutine Driver_abort(errorMessage)
27 implicit none
28 character(len=*), intent(in) :: errorMessage
29 end subroutine Driver_abort
30 end interface
31
32 interface
33 subroutine Driver_dbgBreak()
34 end subroutine Driver_dbgBreak
35 end interface
36
37 interface
38 subroutine Driver_computeDt(nbegin, nstep, &
39 simTime, dtOld, dtNew)
40 implicit none
41 integer, intent(IN) :: nbegin, nstep
42 real, intent(IN) :: simTime !! current simulation time
43 real, intent(IN) :: dtOld !! last time step we used
44 real, intent(OUT):: dtNew !! the new timestep we get. to be returned.
45 end subroutine Driver_computeDt
46 end interface
47
48 interface
49 subroutine Driver_driftBlock(src_file, src_line, blk, ptr, gds)
50 implicit none
51 character(len=*), intent(in) :: src_file
52 integer, intent(in) :: src_line
53 integer, intent(in) :: blk
54 real, intent(in) :: ptr(:,:,:,:)
55 integer, intent(in) :: gds
56 end subroutine Driver_driftBlock
57 end interface
58
59 interface
60 subroutine Driver_driftUnk(src_file, src_line, flags)
61 implicit none
62 character(len=*), intent(in) :: src_file
63 integer, intent(in) :: src_line
64 integer, intent(in), optional :: flags
65 end subroutine Driver_driftUnk
66 end interface
67
68 interface
69 subroutine Driver_evolveAll()
70 implicit none
71 end subroutine Driver_evolveAll
72 end interface
73
74 interface
75 subroutine Driver_finalizeAll()
76 implicit none
77 end subroutine Driver_finalizeAll
78 end interface
79
80 interface
81 subroutine Driver_finalizeSourceTerms( restart)
82 implicit none
83 logical, intent(in) :: restart
84 end subroutine Driver_finalizeSourceTerms
85 end interface
86
87 interface
88 subroutine Driver_getDt(dt)
89 implicit none
90 real, intent(out) :: dt
91 end subroutine Driver_getDt
92 end interface
93
94 interface
95 subroutine Driver_getElapsedWCTime(elapsedWCTime)
96 implicit none
97 real, intent(out) :: elapsedWCTime
98 end subroutine Driver_getElapsedWCTime
99 end interface
100
101 interface
102 subroutine Driver_getNStep(nstep)
103 implicit none
104 integer, intent(out) :: nstep
105 end subroutine Driver_getNStep
106 end interface
107
108 interface
109 subroutine Driver_getSimTime(simulationTime, simGeneration)
110 implicit none
111 real, intent(out) :: simulationTime
112 integer, intent(out), OPTIONAL :: simGeneration
113 end subroutine Driver_getSimTime
114 end interface
115
116 interface
117 subroutine Driver_init()
118 implicit none
119 end subroutine Driver_init
120 end interface
121
122 interface
123 subroutine Driver_initAll()
124 implicit none
125 end subroutine Driver_initAll
126 end interface
127
128 interface
130 implicit none
131 end subroutine Driver_initMaterialProperties
132 end interface
133
134 interface
136 end subroutine Driver_initNumericalTools
137 end interface
138
139 interface
141 end subroutine Driver_initParallel
142 end interface
143
144 interface
145 subroutine Driver_initSourceTerms( restart)
146 implicit none
147 logical, intent(in) :: restart
148 end subroutine Driver_initSourceTerms
149 end interface
150
151 interface
153 implicit none
154 end subroutine Driver_sendOutputData
155 end interface
156
157 interface
158 subroutine Driver_sourceTerms(dt, pass)
159 implicit none
160 real, intent(IN) :: dt
161 integer, OPTIONAL, intent(IN):: pass
162 end subroutine Driver_sourceTerms
163 end interface
164
165 interface
167 implicit none
168 end subroutine Driver_verifyInitDt
169 end interface
170
171 interface
172 subroutine Driver_getTimeStamp(dateStr)
173 implicit none
174 character(len=40), intent(OUT) :: dateStr
175 end subroutine Driver_getTimeStamp
176 end interface
177
178 interface
179 subroutine Driver_putTimeStamp(dateStr)
180 implicit none
181 character(len=40), intent(IN) :: dateStr
182 end subroutine Driver_putTimeStamp
183 end interface
184
185 interface
186 subroutine Driver_checkMPIErrorCode( errorCode)
187 implicit none
188 integer, intent(IN) :: errorCode
189 end subroutine Driver_checkMPIErrorCode
190 end interface
191
192
193 interface
194 subroutine Driver_superTimeStep(dt,nuSTS,nstepSTS,nstepTotalSTS,dt_subSTS)
195 implicit none
196 real, intent(IN) :: dt,nuSTS
197 integer, intent(IN) :: nstepSTS,nstepTotalSTS
198 real, intent(OUT) :: dt_subSTS
199 end subroutine Driver_superTimeStep
200 end interface
201
202
203 interface
204 subroutine Driver_getMype(communicatorType, mype, axis)
205 integer, INTENT(IN) :: communicatorType
206 integer, INTENT(OUT) :: mype
207 integer, optional, intent(IN) :: axis
208 end subroutine Driver_getMype
209 end interface
210
211 interface
212 subroutine Driver_getNumProcs(communicatorType, numProcs, axis)
213 integer, INTENT(IN) :: communicatorType
214 integer, INTENT(OUT) :: numProcs
215 integer, optional, intent(IN) :: axis
216 end subroutine Driver_getNumProcs
217 end interface
218
219 interface
220 subroutine Driver_getComm(communicatorType, communicator, axis)
221 integer, INTENT(IN) :: communicatorType
222 integer, INTENT(OUT) :: communicator
223 integer, optional, intent(IN) :: axis
224 end subroutine Driver_getComm
225 end interface
226
227 interface
229
230 implicit none
231 end subroutine Driver_setupParallelEnv
232 end interface
233
234 interface
235 subroutine Driver_mpiThreadSupport(mpiThreadSupport)
236 implicit none
237 logical, intent(OUT) :: mpiThreadSupport
238 end subroutine Driver_mpiThreadSupport
239 end interface
240
241 interface
242 subroutine Driver_logMemoryUsage(callsite)
243 implicit none
244 character(len=*),intent(IN) :: callsite
245 end subroutine Driver_logMemoryUsage
246 end interface
247
248 interface
249 subroutine Driver_diagnostics (blockCount, blockList, dt)
250 implicit none
251 real, intent(IN) :: dt
252 integer, intent(IN) :: blockCount
253 integer, dimension(blockCount), intent(IN):: blockList
254 end subroutine Driver_diagnostics
255 end interface
256
258 subroutine Driver_envGetScalarInt (name, value)
259 implicit none
260 character(len=*), intent(in) :: name
261 integer, intent(out) :: value
262 end subroutine Driver_envGetScalarInt
263 end interface
264
265end Module Driver_interface
subroutine Driver_envGetScalarInt(name, value)