3 python module libadflow_cs ! in
5 python module libadflow
9 ! ############################################################################
11 ! ############################################################################
12 module constants ! in :adflow:../../modules/constants.F90
14 integer parameter,optional :: maxstringlen = 256
15 integer parameter,optional :: maxcgnsnamelen = 32
16 integer(kind=inttype) parameter,optional :: eulerequations=1_inttype
17 integer(kind=inttype) parameter,optional :: nsequations=2_inttype
18 integer(kind=inttype) parameter,optional :: ransequations=3_inttype
19 integer(kind=inttype) parameter,optional :: steady=1_inttype
20 integer(kind=inttype) parameter,optional :: unsteady=2_inttype
21 integer(kind=inttype) parameter,optional :: timespectral=3_inttype
22 integer(kind=inttype) parameter,optional :: internalflow=1_inttype
23 integer(kind=inttype) parameter,optional :: externalflow=2_inttype
24 integer(kind=inttype) parameter,optional :: cpconstant=1_inttype
25 integer(kind=inttype) parameter,optional :: cptempcurvefits=2_inttype
26 integer(kind=inttype) parameter,optional :: spalartallmaras=2_inttype
27 integer(kind=inttype) parameter,optional :: spalartallmarasedwards=3_inttype
28 integer(kind=inttype) parameter,optional :: komegawilcox=4_inttype
29 integer(kind=inttype) parameter,optional :: komegamodified=5_inttype
30 integer(kind=inttype) parameter,optional :: ktau=6_inttype
31 integer(kind=inttype) parameter,optional :: mentersst=7_inttype
32 integer(kind=inttype) parameter,optional :: v2f=10_inttype
33 integer(kind=inttype) parameter,optional :: strain=1_inttype
34 integer(kind=inttype) parameter,optional :: vorticity=2_inttype
35 integer(kind=inttype) parameter,optional :: katolaunder=3_inttype
36 integer(kind=inttype) parameter,optional :: dissscalar=1_inttype
37 integer(kind=inttype) parameter,optional :: dissmatrix=2_inttype
38 integer(kind=inttype) parameter,optional :: disscusp=3_inttype
39 integer(kind=inttype) parameter,optional :: upwind=9_inttype
40 integer(kind=inttype) parameter,optional :: roe=1_inttype
41 integer(kind=inttype) parameter,optional :: vanleer=2_inttype
42 integer(kind=inttype) parameter,optional :: ausmdv=3_inttype
43 integer(kind=inttype) parameter,optional :: nolimiter=2_inttype
44 integer(kind=inttype) parameter,optional :: vanalbeda=3_inttype
45 integer(kind=inttype) parameter,optional :: minmod=4_inttype
46 integer(kind=inttype) parameter,optional :: noprecond=1_inttype
47 integer(kind=inttype) parameter,optional :: turkel=2_inttype
48 integer(kind=inttype) parameter,optional :: choimerkle=3_inttype
49 integer(kind=inttype) parameter,optional :: constantpressure=1_inttype
50 integer(kind=inttype) parameter,optional :: linextrapolpressure=2_inttype
51 integer(kind=inttype) parameter,optional :: quadextrapolpressure=3_inttype
52 integer(kind=inttype) parameter,optional :: normalmomentum=4_inttype
53 integer(kind=inttype) parameter,optional :: constantextrapol=1_inttype
54 integer(kind=inttype) parameter,optional :: linextrapol=2_inttype
55 integer(kind=inttype) parameter,optional :: rungekutta=1_inttype
56 integer(kind=inttype) parameter,optional :: dadi=2_inttype
57 integer(kind=inttype) parameter,optional :: nllusgs=3_inttype
58 integer(kind=inttype) parameter,optional :: nllusgsline=4_inttype
59 integer(kind=inttype) parameter,optional :: decoupled=1_inttype
60 integer(kind=inttype) parameter,optional :: coupled=2_inttype
61 integer(kind=inttype) parameter,optional :: gmres=1_inttype
62 integer(kind=inttype) parameter,optional :: adi=2_inttype
63 integer(kind=inttype) parameter,optional :: bcdirichlet0=0_inttype
64 integer(kind=inttype) parameter,optional :: bcneumann0=1_inttype
65 integer(kind=inttype) parameter,optional :: noresaveraging=0_inttype
66 integer(kind=inttype) parameter,optional :: alwaysresaveraging=1_inttype
67 integer(kind=inttype) parameter,optional :: alternateresaveraging=2_inttype
68 integer(kind=inttype) parameter,optional :: turbrelaxnotdefined=0_inttype
69 integer(kind=inttype) parameter,optional :: turbrelaxexplicit=1_inttype
70 integer(kind=inttype) parameter,optional :: turbrelaximplicit=2_inttype
71 integer(kind=inttype) parameter,optional :: precisionsingle=1
72 integer(kind=inttype) parameter,optional :: precisiondouble=2
73 integer(kind=inttype) parameter,optional :: bdf=1
74 integer(kind=inttype) parameter,optional :: explicitrk=2
75 integer(kind=inttype) parameter,optional :: implicitrk=3
76 integer(kind=inttype) parameter,optional :: md=4
77 integer(kind=inttype) :: nolinesearch=0_inttype
78 integer(kind=inttype) :: cubiclinesearch=1_inttype
79 integer(kind=inttype) :: nonmonotonelinesearch=2_inttype
80 integer(kind=inttype) :: updatefrozen = 0_inttype
81 integer(kind=inttype) :: updatefast = 1_inttype
82 integer(kind=inttype) :: updatefull = 2_inttype
85 integer(kind=inttype) :: ncostfunction
86 integer(kind=inttype) parameter,optional :: costfunccdq=30
87 integer(kind=inttype) parameter,optional :: costfuncforcezcoef=10
88 integer(kind=inttype) parameter,optional :: costfuncmomzcoef=16
89 integer(kind=inttype) parameter,optional :: costfunccm0=17
90 integer(kind=inttype) parameter,optional :: costfuncforcex=5
91 integer(kind=inttype) parameter,optional :: costfuncclq=25
92 integer(kind=inttype) parameter,optional :: costfuncdrag=2
93 integer(kind=inttype) parameter,optional :: costfunccl0=22
94 integer(kind=inttype) parameter,optional :: costfunccmzqdot=21
95 integer(kind=inttype) parameter,optional :: costfuncforcexcoef=8
96 integer(kind=inttype) parameter,optional :: costfunccmzq=20
97 integer(kind=inttype) parameter,optional :: costfunccmzalphadot=19
98 integer(kind=inttype) parameter,optional :: costfunclift=1
99 integer(kind=inttype) parameter,optional :: costfunccd0=27
100 integer(kind=inttype) parameter,optional :: costfuncclqdot=26
101 integer(kind=inttype) parameter,optional :: costfuncforcey=6
102 integer(kind=inttype) parameter,optional :: costfuncforcez=7
103 integer(kind=inttype) parameter,optional :: costfuncmomz=13
104 integer(kind=inttype) parameter,optional :: costfunccdqdot=31
105 integer(kind=inttype) parameter,optional :: costfuncmomx=11
106 integer(kind=inttype) parameter,optional :: costfuncmomy=12
107 integer(kind=inttype) parameter,optional :: costfunccdalphadot=29
108 integer(kind=inttype) parameter,optional :: costfuncmomxcoef=14
109 integer(kind=inttype) parameter,optional :: costfunccdalpha=28
110 integer(kind=inttype) parameter,optional :: costfuncliftcoef=3
111 integer(kind=inttype) parameter,optional :: costfunccmzalpha=18
112 integer(kind=inttype) parameter,optional :: costfuncdragcoef=4
113 integer(kind=inttype) parameter,optional :: costfuncclalphadot=24
114 integer(kind=inttype) parameter,optional :: costfuncforceycoef=9
115 integer(kind=inttype) parameter,optional :: costfuncclalpha=23
116 integer(kind=inttype) parameter,optional :: costfuncmomycoef=15
117 integer(kind=inttype) parameter,optional :: costfunccfy0=32
118 integer(kind=inttype) parameter,optional :: costfunccfyalpha=33
119 integer(kind=inttype) parameter,optional :: costfunccfyalphadot=34
120 integer(kind=inttype) parameter,optional :: costfunccfyq=35
121 integer(kind=inttype) parameter,optional :: costfunccfyqdot=36
122 integer(kind=inttype) parameter,optional :: costfuncbendingcoef=37
123 integer(kind=inttype) parameter,optional :: costfuncsepsensor=38
124 integer(kind=inttype) parameter,optional :: costfuncsepsensoravgx=39
125 integer(kind=inttype) parameter,optional :: costfuncsepsensoravgy=40
126 integer(kind=inttype) parameter,optional :: costfuncsepsensoravgz=41
127 integer(kind=inttype) parameter,optional :: costfunccavitation=42
128 integer(kind=inttype) parameter,optional :: costfuncmdot=43
129 integer(kind=inttype) parameter,optional :: costfuncmavgptot=44
130 integer(kind=inttype) parameter,optional :: costfuncmavgttot=45
131 integer(kind=inttype) parameter,optional :: costfuncmavgrho=46
132 integer(kind=inttype) parameter,optional :: costfuncmavgps=47
133 integer(kind=inttype) parameter,optional :: costfuncmavgmn=48
134 integer(kind=inttype) parameter,optional :: costfuncmavga=49
135 integer(kind=inttype) parameter,optional :: costfuncarea=50
136 integer(kind=inttype) parameter,optional :: costfuncaxismoment=51
137 integer(kind=inttype) parameter,optional :: costfuncflowpower=52
138 integer(kind=inttype) parameter,optional :: costfuncforcexpressure=53
139 integer(kind=inttype) parameter,optional :: costfuncforceypressure=54
140 integer(kind=inttype) parameter,optional :: costfuncforcezpressure=55
141 integer(kind=inttype) parameter,optional :: costfuncforcexviscous=56
142 integer(kind=inttype) parameter,optional :: costfuncforceyviscous=57
143 integer(kind=inttype) parameter,optional :: costfuncforcezviscous=58
144 integer(kind=inttype) parameter,optional :: costfuncforcexmomentum=59
145 integer(kind=inttype) parameter,optional :: costfuncforceymomentum=60
146 integer(kind=inttype) parameter,optional :: costfuncforcezmomentum=61
147 integer(kind=inttype) parameter,optional :: costfuncdragpressure=62
148 integer(kind=inttype) parameter,optional :: costfuncdragviscous=63
149 integer(kind=inttype) parameter,optional :: costfuncdragmomentum=64
150 integer(kind=inttype) parameter,optional :: costfuncliftpressure=65
151 integer(kind=inttype) parameter,optional :: costfuncliftviscous=66
152 integer(kind=inttype) parameter,optional :: costfuncliftmomentum=67
153 integer(kind=inttype) parameter,optional :: costfuncforcexcoefpressure=68
154 integer(kind=inttype) parameter,optional :: costfuncforcexcoefviscous=69
155 integer(kind=inttype) parameter,optional :: costfuncforcexcoefmomentum=70
156 integer(kind=inttype) parameter,optional :: costfuncforceycoefpressure=71
157 integer(kind=inttype) parameter,optional :: costfuncforceycoefviscous=72
158 integer(kind=inttype) parameter,optional :: costfuncforceycoefmomentum=73
159 integer(kind=inttype) parameter,optional :: costfuncforcezcoefpressure=74
160 integer(kind=inttype) parameter,optional :: costfuncforcezcoefviscous=75
161 integer(kind=inttype) parameter,optional :: costfuncforcezcoefmomentum=76
162 integer(kind=inttype) parameter,optional :: costfuncliftcoefpressure=77
163 integer(kind=inttype) parameter,optional :: costfuncliftcoefviscous=78
164 integer(kind=inttype) parameter,optional :: costfuncliftcoefmomentum=79
165 integer(kind=inttype) parameter,optional :: costfuncdragcoefpressure=80
166 integer(kind=inttype) parameter,optional :: costfuncdragcoefviscous=81
167 integer(kind=inttype) parameter,optional :: costfuncdragcoefmomentum=82
168 integer(kind=inttype) parameter,optional :: costfuncmavgvx=83
169 integer(kind=inttype) parameter,optional :: costfuncmavgvy=84
170 integer(kind=inttype) parameter,optional :: costfuncmavgvz=85
171 integer(kind=inttype) parameter,optional :: costfunccperror2=86
172 integer(kind=inttype) parameter,optional :: costfuncaavgptot=87
173 integer(kind=inttype) parameter,optional :: costfuncaavgps=88
174 integer(kind=inttype) parameter,optional :: costfunccpmin=89
175 integer(kind=inttype) parameter,optional :: costfunccoforcexx=90
176 integer(kind=inttype) parameter,optional :: costfunccoforcexy=91
177 integer(kind=inttype) parameter,optional :: costfunccoforcexz=92
178 integer(kind=inttype) parameter,optional :: costfunccoforceyx=93
179 integer(kind=inttype) parameter,optional :: costfunccoforceyy=94
180 integer(kind=inttype) parameter,optional :: costfunccoforceyz=95
181 integer(kind=inttype) parameter,optional :: costfunccoforcezx=96
182 integer(kind=inttype) parameter,optional :: costfunccoforcezy=97
183 integer(kind=inttype) parameter,optional :: costfunccoforcezz=98
184 integer(kind=inttype) parameter,optional :: costfunccofliftx=99
185 integer(kind=inttype) parameter,optional :: costfunccoflifty=100
186 integer(kind=inttype) parameter,optional :: costfunccofliftz=101
187 integer(kind=inttype) parameter,optional :: costfuncmavgvi=102
188 integer(kind=inttype) parameter,optional :: costfuncsepsensorks=103
189 integer(kind=inttype) parameter,optional :: costfuncsepsensorksarea=104
193 subroutine writeintromessage
194 end subroutine writeintromessage
196 subroutine getliftdirfromsymmetry(liftdir)
197 integer(kind=inttype), intent(out) :: liftdir
198 end subroutine getliftdirfromsymmetry
200 subroutine allocconvarrays(nitertot)
201 integer(kind=inttype) :: nitertot
202 end subroutine allocconvarrays
204 subroutine alloctimearrays(nitertot)
205 integer(kind=inttype) :: ntimetot
206 end subroutine alloctimearrays
208 subroutine unsteadyheader
209 end subroutine unsteadyheader
212 subroutine pointreduce(pts,n,tol,uniquepts,link,nunique) ! in :test:utils.F90:utils
213 real(kind=realtype) dimension(3,n),intent(in) :: pts
214 integer(kind=inttype), optional,intent(in),check(shape(pts,1)==n),depend(pts) :: n=shape(pts,1)
215 real(kind=realtype) intent(in) :: tol
216 real(kind=realtype) dimension(3,n),intent(out),depend(n) :: uniquepts
217 integer(kind=inttype) dimension(n),intent(out),depend(n) :: link
218 integer(kind=inttype) intent(out) :: nunique
219 end subroutine pointreduce
221 subroutine getcellcenters(level,n,xcen) ! in :test:utils.F90:utils
222 integer(kind=inttype) intent(in) :: level
223 integer(kind=inttype) intent(in) :: n
224 real(kind=realtype) dimension(3,n),intent(out),depend(n) :: xcen
225 end subroutine getcellcenters
227 subroutine getcellcgnsblockids(level,n,cellid) ! in :test:utils.F90:utils
228 integer(kind=inttype) intent(in) :: level
229 integer(kind=inttype) intent(in) :: n
230 real(kind=realtype) dimension(n),intent(out),depend(n) :: cellid
231 end subroutine getcellcgnsblockids
233 subroutine getncgnszones(nzones) ! in :test:utils.F90
234 integer(kind=inttype) intent(out) :: nzones
235 end subroutine getncgnszones
236 subroutine getcgnszonename(i,zone) ! in :test:utils.F90
237 integer(kind=inttype) intent(in) :: i
238 character(32) intent(out) :: zone
239 end subroutine getcgnszonename
241 subroutine releasememorypart1
242 end subroutine releasememorypart1
244 subroutine releasememorypart2
245 end subroutine releasememorypart2
247 subroutine getmonitorvariablenames(nvar, monitor_variables)
248 integer(kind=inttype), intent(in) :: nvar
249 character, dimension(nvar,32), intent(out):: monitor_variables
250 end subroutine getmonitorvariablenames
252 subroutine getsolvertypearray(niter, nsps, type_array)
253 integer(kind=inttype), intent(in) :: niter, nsps,
254 character, dimension(0:niter,nsps,8), intent(out):: type_array
255 end subroutine getsolvertypearray
262 subroutine updatewalldistancealllevels
263 end subroutine updatewalldistancealllevels
265 end module walldistance
267 module initializeflow
269 subroutine updatebcdataalllevels
270 end subroutine updatebcdataalllevels
273 end subroutine initflow
275 subroutine initflowrestart
276 end subroutine initflowrestart
278 subroutine setuniformflow
279 end subroutine setuniformflow
281 subroutine allocrestartfiles(nfiles)
282 integer(kind=inttype) :: nfiles
283 end subroutine allocrestartfiles
285 subroutine setrestartfiles(filename,i)
286 character*(*) intent(in) :: filename
287 integer(kind=inttype) :: i
288 end subroutine setrestartfiles
290 subroutine infchangecorrection(oldwinf, correctiontol, correctiontype) ! in :test:solverUtils.F90:solverutils
291 real(kind=realtype), dimension(5),intent(in) :: oldwinf
292 real(kind=realtype), intent(in) :: correctiontol
293 character*(*), intent(in) :: correctiontype
294 end subroutine infchangecorrection
296 end module initializeflow
299 subroutine setbcdata(bcdatanamesin,bcdatain,famlists,sps,nvar,nfammax) ! in :test:BCData.F90:bcdata
300 character dimension(nvar,32),intent(in) :: bcdatanamesin
301 real(kind=realtype) dimension(nvar),intent(in),depend(nvar) :: bcdatain
302 integer(kind=inttype) dimension(nvar,nfammax),depend(nvar) :: famlists
303 integer(kind=inttype) intent(in) :: sps
304 integer(kind=inttype), optional,intent(in),check(shape(bcdatanamesin,0)==nvar),depend(bcdatanamesin) :: nvar=shape(bcdatanamesin,0)
305 integer(kind=inttype), optional,intent(in),check(shape(famlists,1)==nfammax),depend(famlists) :: nfammax=shape(famlists,1)
306 end subroutine setbcdata
314 end subroutine setupamg
316 subroutine destroyamg
317 end subroutine destroyamg
323 subroutine updategamma
324 end subroutine updategamma
326 subroutine adjustinflowangle()
327 end subroutine adjustinflowangle
331 module inputparamroutines
333 subroutine setdefaultvalues()
334 end subroutine setdefaultvalues
336 subroutine monitorvariables(variables) ! in :test:monitorVariables.f90
337 character*(*) intent(in) :: variables
338 end subroutine monitorvariables
340 subroutine surfacevariables(variables) ! in :test:surfaceVariables.f90
341 character*(*) intent(in) :: variables
342 end subroutine surfacevariables
344 subroutine volumevariables(variables) ! in :test:volumeVariables.f90
345 character*(*) intent(in) :: variables
346 end subroutine volumevariables
348 subroutine isovariables(variables) ! in :test:volumeVariables.f90
349 character*(*) intent(in) :: variables
350 end subroutine isovariables
352 subroutine initializeisosurfacevariables(values,nvalues) ! in :test:setIsoSurfaceValues.F90
353 real(kind=realtype), dimension(nvalues),intent(in) :: values
354 integer(kind=inttype), optional,intent(in),check(len(values)>=nvalues),depend(values) :: nvalues=len(values)
355 end subroutine initializeisosurfacevariables
357 subroutine setisosurfacevariable(variable,ivar) ! in :test:setIsoSurfaceValues.F90
358 character*(*), intent(in) :: variable
359 integer(kind=inttype), intent(in) :: ivar
360 end subroutine setisosurfacevariable
362 subroutine dummyreadparamfile ! in :adflow:../../inputParam/readParamFile.f90
363 end subroutine dummyreadparamfile
365 end module inputparamroutines
370 character(len=maxstringlen) :: nk_precondtype
371 integer(kind=inttype) :: nk_innerpreconits
372 integer(kind=inttype) :: nk_innerpreconitscoarse
373 integer(kind=inttype) :: nk_outerpreconits
374 integer(kind=inttype) :: nk_amglevels
375 integer(kind=inttype) :: nk_amgnsmooth
376 integer(kind=inttype) :: nk_jacobianlag
377 logical :: usenksolver
381 integer(kind=inttype) :: nk_ls
382 integer(kind=inttype) :: nk_subspace
383 integer(kind=inttype) :: nk_asmoverlap
384 integer(kind=inttype) :: nk_asmoverlapcoarse
385 real(kind=realtype) :: nk_rtolinit
386 integer(kind=inttype) :: nk_ilufill
387 integer(kind=inttype) :: nk_ilufillcoarse
388 real(kind=realtype) :: nk_switchtol
389 real(kind=realtype) :: nk_cfl0
390 real(kind=realtype) :: nk_fixedstep
391 integer(kind=inttype) :: applypcsubspacesize
392 logical :: freestreamresset
394 subroutine getstates(states,ndimw)
395 real(kind=realtype) dimension(ndimw),intent(out),depend(ndimw) :: states
396 integer(kind=inttype) intent(in) :: ndimw
397 end subroutine getstates
399 subroutine setstates(states,ndimw)
400 real(kind=realtype) dimension(ndimw),intent(in) :: states
401 integer(kind=inttype) optional,intent(in),check(len(states)>=ndimw),depend(states) :: ndimw=len(states)
402 end subroutine setstates
404 subroutine getinfosize(isize)
405 integer(kind=inttype) intent(out) :: isize
406 end subroutine getinfosize
408 subroutine setinfo(info,isize)
409 real(kind=realtype) dimension(isize),intent(in) :: info
410 integer(kind=inttype) optional,intent(in),check(len(info)>=isize),depend(info) :: isize=len(info)
411 end subroutine setinfo
413 subroutine getinfo(info,isize)
414 real(kind=realtype) dimension(isize),intent(out),depend(isize) :: info
415 integer(kind=inttype) intent(in) :: isize
416 end subroutine getinfo
418 subroutine getres(res,ndimw)
419 real(kind=realtype) dimension(ndimw),intent(in,out) :: res
420 integer(kind=inttype) optional,intent(in),check(len(res)>=ndimw),depend(res) :: ndimw=len(res)
421 end subroutine getres
423 subroutine applypc(in_vec,out_vec,ndof)
424 real(kind=realtype) dimension(ndof),intent(in) :: in_vec
425 real(kind=realtype) dimension(ndof),intent(in, out),depend(ndof) :: out_vec
426 integer(kind=inttype) optional,check(len(in_vec)>=ndof),depend(in_vec) :: ndof=len(in_vec)
427 end subroutine applypc
429 subroutine applyadjointpc(in_vec,out_vec,ndof)
430 real(kind=realtype) dimension(ndof),intent(in) :: in_vec
431 real(kind=realtype) dimension(ndof),intent(in, out),depend(ndof) :: out_vec
432 integer(kind=inttype) optional,check(len(in_vec)>=ndof),depend(in_vec) :: ndof=len(in_vec)
433 end subroutine applyadjointpc
435 subroutine destroynksolver
436 end subroutine destroynksolver
438 subroutine getfreestreamresidual(rhores,totalrres) ! in :test:NKSolvers.F90:nksolver
439 real(kind=realtype) intent(out) :: rhores
440 real(kind=realtype) intent(out) :: totalrres
441 end subroutine getfreestreamresidual
448 character(len=maxstringlen) :: ank_precondtype
449 integer(kind=inttype) :: ank_innerpreconits
450 integer(kind=inttype) :: ank_innerpreconitscoarse
451 integer(kind=inttype) :: ank_outerpreconits
452 integer(kind=inttype) :: ank_amglevels
453 integer(kind=inttype) :: ank_amgnsmooth
454 integer(kind=inttype) :: ank_jacobianlag
455 logical :: useanksolver
456 logical :: ank_useturbdadi
457 logical :: ank_useapproxsa
458 integer(kind=inttype) :: ank_subspace
459 integer(kind=inttype) :: ank_maxiter
460 integer(kind=inttype) :: ank_asmoverlap
461 integer(kind=inttype) :: ank_asmoverlapcoarse
462 real(kind=realtype) :: ank_rtol
463 real(kind=realtype) :: ank_atol_buffer
464 real(kind=realtype) :: ank_linresmax
465 integer(kind=inttype) :: ank_ilufill
466 integer(kind=inttype) :: ank_ilufillcoarse
467 real(kind=realtype) :: ank_switchtol
468 real(kind=realtype) :: ank_cfl
469 real(kind=realtype) :: ank_cfl0
470 real(kind=realtype) :: ank_cflmin0
471 real(kind=realtype) :: ank_cfllimit
472 real(kind=realtype) :: ank_cflfactor
473 real(kind=realtype) :: ank_cflexponent
474 real(kind=realtype) :: ank_cflcutback
475 logical :: ank_cflreset
476 real(kind=realtype) :: ank_stepfactor
477 real(kind=realtype) :: ank_stepmin
478 real(kind=realtype) :: ank_constcflstep
479 real(kind=realtype) :: ank_physlstol
480 real(kind=realtype) :: ank_physlstolturb
481 real(kind=realtype) :: ank_unstdylstol
482 real(kind=realtype) :: ank_secondordswitchtol
483 real(kind=realtype) :: ank_coupledswitchtol
484 real(kind=realtype) :: ank_turbcflscale
485 logical :: ank_usefullvisc
486 real(kind=realtype) :: ank_pcupdatetol
487 real(kind=realtype) :: ank_pcupdatetol2
488 real(kind=realtype) :: ank_pcupdatecutoff
490 integer(kind=inttype) :: ank_nsubiterturb
491 logical :: ank_turbdebug
492 logical :: ank_usematrixfree
493 character(len=maxstringlen) :: ank_chartimesteptype
494 subroutine destroyanksolver
495 end subroutine destroyanksolver
500 subroutine partitionandreadgrid(partitiononly)
501 logical :: partitiononly
502 end subroutine partitionandreadgrid
504 subroutine checkpartitioning(np,load_inbalance,face_inbalance)
505 integer(kind=inttype) intent(in) :: np
506 real(kind=realtype) intent(out) :: load_inbalance
507 real(kind=realtype) intent(out) :: face_inbalance
508 end subroutine checkpartitioning
510 end module partitioning
514 subroutine getcgnsmeshindices(ndof,indices)
515 integer(kind=inttype) intent(in) :: ndof
516 integer(kind=inttype) dimension(ndof),intent(out),depend(ndof) :: indices
517 end subroutine getcgnsmeshindices
519 subroutine setgrid(grid,ndof)
520 real(kind=realtype) dimension(ndof),intent(in) :: grid
521 integer(kind=inttype) optional,intent(in),check(len(grid)>=ndof),depend(grid) :: ndof=len(grid)
522 end subroutine setgrid
524 subroutine getgrid(grid,ndof)
525 real(kind=realtype) dimension(ndof),intent(out),depend(ndof) :: grid
526 integer(kind=inttype) intent(in) :: ndof
527 end subroutine getgrid
529 subroutine getstateperturbation(randvec,nrand,randstate,nrandstate)
530 real(kind=realtype) dimension(nrand),intent(in) :: randvec
531 integer(kind=inttype), optional,intent(in),check(len(randvec)>=nrand),depend(randvec) :: nrand=len(randvec)
532 real(kind=realtype) dimension(nrandstate),intent(out),depend(nrandstate) :: randstate
533 integer(kind=inttype) intent(in) :: nrandstate
534 end subroutine getstateperturbation
536 subroutine getsurfaceperturbation(xrand,nrand,randsurface,nrandsurface, famlist,nfamlist,sps) ! in :test:warping.F90:warping
537 real(kind=realtype) dimension(nrand),intent(in) :: xrand
538 integer(kind=inttype), optional,intent(in),check(len(xrand)>=nrand),depend(xrand) :: nrand=len(xrand)
539 real(kind=realtype) dimension(3 * nrandsurface),intent(inout) :: randsurface
540 integer(kind=inttype), optional,intent(in),check((len(randsurface))/(3)>=nrandsurface),depend(randsurface) :: nrandsurface=(len(randsurface))/(3)
541 integer(kind=inttype) dimension(nfamlist),intent(in) :: famlist
542 integer(kind=inttype), optional,intent(in),check(len(famlist)>=nfamlist),depend(famlist) :: nfamlist=len(famlist)
543 integer(kind=inttype) intent(in) :: sps
544 end subroutine getsurfaceperturbation
546 subroutine setgridforoneinstance(grid,sps) ! in warping.F90:warping
547 real(kind=realtype) dimension(:),intent(in) :: grid
548 integer intent(in) :: sps
549 end subroutine setgridforoneinstance
554 subroutine getsurfacesize(size_bn,sizecell,famlist,n,includezipper) ! in :test:surfaceUtils.F90:surfaceutils
555 integer(kind=inttype) intent(out) :: size_bn
556 integer(kind=inttype) intent(out) :: sizecell
557 integer(kind=inttype) dimension(n),intent(in) :: famlist
558 integer(kind=inttype), optional,intent(in),check(len(famlist)>=n),depend(famlist) :: n=len(famlist)
559 logical intent(in) :: includezipper
560 end subroutine getsurfacesize
561 subroutine getsurfaceconnectivity(conn,cgnsblockid,ncell,famlist,nfamlist,includezipper) ! in :test:surfaceUtils.F90:surfaceutils
562 integer(kind=inttype) dimension(4 * ncell),intent(inout) :: conn
563 integer(kind=inttype) dimension(ncell),intent(inout) :: cgnsblockid
564 integer(kind=inttype), optional,intent(in),check((len(conn))/(4)>=ncell),depend(conn) :: ncell=(len(conn))/(4)
565 integer(kind=inttype) dimension(nfamlist),intent(in) :: famlist
566 integer(kind=inttype), optional,intent(in),check(len(famlist)>=nfamlist),depend(famlist) :: nfamlist=len(famlist)
567 logical intent(in) :: includezipper
568 end subroutine getsurfaceconnectivity
570 subroutine getsurfacepoints(points,npts,sps_in,famlist,nfamlist,includezipper) ! in :test:surfaceUtils.F90:surfaceutils
571 real(kind=realtype) dimension(3,npts),intent(inout) :: points
572 integer(kind=inttype), optional,intent(in),check(shape(points,1)==npts),depend(points) :: npts=shape(points,1)
573 integer(kind=inttype) intent(in) :: sps_in
574 integer(kind=inttype) dimension(nfamlist),intent(in) :: famlist
575 integer(kind=inttype), optional,intent(in),check(len(famlist)>=nfamlist),depend(famlist) :: nfamlist=len(famlist)
576 logical intent(in) :: includezipper
577 end subroutine getsurfacepoints
579 ! subroutine mapvector(vec1,n1,famlist1,nf1,vec2,n2,famlist2,nf2,includezipper) ! in :test:surfaceUtils.F90:surfaceutils
580 ! real(kind=realtype) dimension(3,n1),intent(in) :: vec1
581 ! integer(kind=inttype), optional,check(shape(vec1,1)==n1),depend(vec1) :: n1=shape(vec1,1)
582 ! integer(kind=inttype) dimension(nf1),intent(in) :: famlist1
583 ! integer(kind=inttype), optional,check(len(famlist1)>=nf1),depend(famlist1) :: nf1=len(famlist1)
584 ! real(kind=realtype) dimension(3,n2),intent(inout) :: vec2
585 ! integer(kind=inttype), optional,check(shape(vec2,1)==n2),depend(vec2) :: n2=shape(vec2,1)
586 ! integer(kind=inttype) dimension(nf2),intent(in) :: famlist2
587 ! integer(kind=inttype), optional,check(len(famlist2)>=nf2),depend(famlist2) :: nf2=len(famlist2)
588 ! logical intent(in) :: includezipper
589 ! end subroutine mapvector
591 subroutine mapvector(vec1,n1,famlist1,nf1,vec2,n2,famlist2,nf2,includezipper,ndim) ! in ../utils/surfaceUtils.F90:surfaceutils
592 use blockpointers, only: ndom,flowdoms
593 use sorting, only: faminlist
594 use surfacefamilies, only: bcfamgroups
596 use oversetdata, only: oversetpresent,zippermeshes,zippermesh
597 real(kind=realtype) dimension(ndim,n1),intent(in) :: vec1
598 integer(kind=inttype), optional,check(shape(vec1,1)==n1),depend(vec1) :: n1=shape(vec1,1)
599 integer(kind=inttype) dimension(nf1),intent(in) :: famlist1
600 integer(kind=inttype), optional,check(len(famlist1)>=nf1),depend(famlist1) :: nf1=len(famlist1)
601 real(kind=realtype) dimension(ndim,n2),intent(inout),depend(ndim) :: vec2
602 integer(kind=inttype), optional,check(shape(vec2,1)==n2),depend(vec2) :: n2=shape(vec2,1)
603 integer(kind=inttype) dimension(nf2),intent(in) :: famlist2
604 integer(kind=inttype), optional,check(len(famlist2)>=nf2),depend(famlist2) :: nf2=len(famlist2)
605 logical intent(in) :: includezipper
606 integer(kind=inttype), optional,check(shape(vec1,0)==ndim),depend(vec1) :: ndim=shape(vec1,0)
607 end subroutine mapvector
609 subroutine getwalllist(walllist,nwalllist,nfamtotal) ! in :test:surfaceUtils.F90:surfaceutils
610 integer(kind=inttype) dimension(nfamtotal),intent(out),depend(nfamtotal) :: walllist
611 integer(kind=inttype) intent(out) :: nwalllist
612 integer(kind=inttype) intent(in) :: nfamtotal
613 end subroutine getwalllist
614 end module surfaceutils
617 subroutine addparaslice(slicename,pt,normal,dir_vec,use_dir,famlist,n) ! in :test:liftDistribution.F90
618 character*(*) intent(in) :: slicename
619 real(kind=realtype) dimension(3),intent(in) :: pt
620 real(kind=realtype) dimension(3),intent(in) :: normal
621 real(kind=realtype) dimension(3),intent(in) :: dir_vec
622 logical, intent(in) :: use_dir
623 integer(kind=inttype) dimension(n),intent(in) :: famlist
624 integer(kind=inttype), optional,intent(in),check(len(famlist)>=n),depend(famlist) :: n=len(famlist)
625 end subroutine addparaslice
627 subroutine addabsslice(slicename,pt,normal,dir_vec,use_dir,famlist,n) ! in :test:liftDistribution.F90
628 character*(*) intent(in) :: slicename
629 real(kind=realtype) dimension(3),intent(in) :: pt
630 real(kind=realtype) dimension(3),intent(in) :: normal
631 real(kind=realtype) dimension(3),intent(in) :: dir_vec
632 logical, intent(in) :: use_dir
633 integer(kind=inttype) dimension(n),intent(in) :: famlist
634 integer(kind=inttype), optional,intent(in),check(len(famlist)>=n),depend(famlist) :: n=len(famlist)
635 end subroutine addabsslice
637 subroutine addliftdistribution(nsegments,normal,normal_ind, distname,famlist,n) ! in :test:liftDistribution.F90
638 integer(kind=inttype) intent(in) :: nsegments
639 real(kind=realtype) dimension(3), intent(in) :: normal
640 integer(kind=inttype), intent(in) :: normal_ind
641 character*(*) intent(in) :: distname
642 integer(kind=inttype) dimension(n),intent(in) :: famlist
643 integer(kind=inttype), optional,intent(in),check(len(famlist)>=n),depend(famlist) :: n=len(famlist)
644 end subroutine addliftdistribution
646 subroutine writetecplot(slicefile,writeslices,liftfile,writelift,surffile,writesurf,famlist,nfamlist) ! in :test:tecplotIO.F90:tecplotio
647 character*(*) intent(in) :: slicefile
648 logical intent(in) :: writeslices
649 character*(*) intent(in) :: liftfile
650 logical intent(in) :: writelift
651 character*(*) intent(in) :: surffile
652 logical intent(in) :: writesurf
653 integer(kind=inttype) dimension(nfamlist),intent(in) :: famlist
654 integer(kind=inttype), optional,intent(in),check(len(famlist)>=nfamlist),depend(famlist) :: nfamlist=len(famlist)
655 end subroutine writetecplot
657 subroutine initializeliftdistributiondata
658 end subroutine initializeliftdistributiondata
659 end subroutine tecplotio
661 module surfaceintegrations
662 subroutine getsolutionwrap(famlists,funcvalues,ncost,ngroups,nfammax) ! in :test:surfaceIntegrations.F90:surfaceintegrations
663 integer(kind=inttype) dimension(ngroups,nfammax) :: famlists
664 real(kind=realtype) dimension(ncost,ngroups),intent(out),depend(ncost,ngroups) :: funcvalues
665 integer(kind=inttype) :: ncost
666 integer(kind=inttype), optional,check(shape(famlists,0)==ngroups),depend(famlists) :: ngroups=shape(famlists,0)
667 integer(kind=inttype), optional,check(shape(famlists,1)==nfammax),depend(famlists) :: nfammax=shape(famlists,1)
668 end subroutine getsolutionwrap
669 end module surfaceintegrations
671 module usersurfaceintegrations
672 subroutine addintegrationsurface(pts,conn,famname,famid,isinflow,npts,nconn) ! in :test:surfaceIntegrations.F90:surfaceintegrations
673 real(kind=realtype) dimension(3,npts),intent(in) :: pts
674 integer(kind=inttype) dimension(3,nconn),intent(in) :: conn
675 character*maxstringlen :: famname
676 integer(kind=inttype), intent(in) :: famid
677 logical, intent(in) :: isinflow
678 integer(kind=inttype), optional,intent(in),check(shape(pts,1)==npts),depend(pts) :: npts=shape(pts,1)
679 integer(kind=inttype), optional,intent(in),check(shape(conn,1)==nconn),depend(conn) :: nconn=shape(conn,1)
680 end subroutine addintegrationsurface
682 subroutine interpolateintegrationsurfaces
683 end subroutine interpolateintegrationsurfaces
685 end module usersurfaceintegrations
687 module actuatorregion ! in :test:actuatorDiskRegion.F90
688 subroutine addactuatorregion(pts,conn,axis1,axis2,famname,famid,thrust,torque,heat,relaxstart,relaxend,npts,nconn) ! in :test:actuatorDiskRegion.F90:actuatorregion
689 real(kind=realtype) dimension(3,npts),intent(in) :: pts
690 integer(kind=inttype) dimension(4,nconn),intent(in) :: conn
691 real(kind=realtype), dimension(3),intent(in) :: axis1
692 real(kind=realtype), dimension(3),intent(in) :: axis2
693 character*(*) :: famname
694 integer(kind=inttype) intent(in) :: famid
695 real(kind=realtype) :: thrust
696 real(kind=realtype) :: torque
697 real(kind=realtype) :: heat
698 real(kind=realtype) :: relaxstart
699 real(kind=realtype) :: relaxend
700 integer(kind=inttype), optional,intent(in),check(shape(pts,1)==npts),depend(pts) :: npts=shape(pts,1)
701 integer(kind=inttype), optional,intent(in),check(shape(conn,1)==nconn),depend(conn) :: nconn=shape(conn,1)
702 end subroutine addactuatorregion
704 subroutine writeactuatorregions(filename)
705 character*(*) intent(in) :: filename
706 end subroutine writeactuatorregions
707 end module actuatorregion
712 end subroutine solver
714 subroutine solverunsteadyinit
715 end subroutine solverunsteadyinit
717 subroutine updateunsteadygeometry
718 end subroutine updateunsteadygeometry
720 subroutine solverunsteadystep
721 end subroutine solverunsteadystep
727 subroutine shiftlevelale
728 end subroutine shiftlevelale
732 module preprocessingapi
733 subroutine preprocessing ! in :adflow:../../preprocessing/preprocessing.f90
734 end subroutine preprocessing
736 subroutine updatecoordinatesalllevels ! in :adflow:../../preprocessing/mdUpdateRoutines.f90
737 end subroutine updatecoordinatesalllevels
739 subroutine updatemetricsalllevels ! in :adflow:../../preprocessing/mdUpdateRoutines.f90
740 end subroutine updatemetricsalllevels
742 subroutine updategridvelocitiesalllevels ! in :adflow:../../preprocessing/mdUpdateRoutines.f90
743 end subroutine updategridvelocitiesalllevels
745 subroutine updateperiodicinfoalllevels
746 end subroutine updateperiodicinfoalllevels
748 subroutine shiftcoorandvolumes ! in :adflow:../../preprocessing/shiftCoorAndVolumes.F90
749 end subroutine shiftcoorandvolumes
751 subroutine updatereferencepoint
752 end subroutine updatereferencepoint
754 subroutine updaterotationrate(rotcenter,rotrate,blocks,nblocks) ! in :test:updateRotationRate.f90
755 real(kind=realtype) dimension(3),intent(in) :: rotcenter
756 real(kind=realtype) dimension(3),intent(in) :: rotrate
757 integer(kind=inttype) dimension(nblocks),intent(in) :: blocks
758 integer(kind=inttype), optional,intent(in),check(len(blocks)>=nblocks),depend(blocks) :: nblocks=len(blocks)
759 end subroutine updaterotationrate
761 subroutine preprocessingoverset(flag,n, closedfamlist, nfam) ! in :test:preprocessingAPI.F90:preprocessingapi
762 integer(kind=inttype) dimension(n) :: flag
763 integer(kind=inttype), optional,intent(in),check(len(flag)>=n),depend(flag) :: n=len(flag)
764 integer(kind=inttype) dimension(nfam) :: closedfamlist
765 integer(kind=inttype), optional,intent(in),check(len(closedfamlist)>=nfam),depend(closedfamlist) :: nfam=len(closedfamlist)
766 end subroutine preprocessingoverset
768 end module preprocessingapi
771 subroutine updateoverset(flag, n, closedfamlist, nfam)
772 integer(kind=inttype) dimension(n) :: flag
773 integer(kind=inttype), optional,intent(in),check(len(flag)>=n),depend(flag) :: n=len(flag)
774 integer(kind=inttype) dimension(nfam) :: closedfamlist
775 integer(kind=inttype), optional,intent(in),check(len(closedfamlist)>=nfam),depend(closedfamlist) :: nfam=len(closedfamlist)
776 end subroutine updateoverset
777 subroutine writepartitionedmesh(filename)
778 character*(*) intent(in) :: filename
779 end subroutine writepartitionedmesh
780 subroutine oversetcomm(level, firstime, coarselevel)
781 integer(kind=inttype), intent(in) :: level
782 logical, intent(in) :: firsttime
783 logical, intent(in) :: coarselevel
784 end subroutine oversetcomm
785 subroutine setblockpriority(blkname, value, setvalue)
786 character*(*) intent(in) :: blkname
787 real(kind=realtype), intent(in) :: value
788 logical, intent(out) :: setvalue
789 end subroutine setblockpriority
790 subroutine flagcellsinsurface(pts,npts,conn,nconn,flag,ncell,blockids,nblocks,k_min)
791 real(kind=realtype) dimension(3,npts),intent(in) :: pts
792 integer(kind=inttype), optional,intent(in),check(shape(pts,1)==npts),depend(pts) :: npts=shape(pts,1)
793 integer(kind=inttype) dimension(4,nconn),intent(in) :: conn
794 integer(kind=inttype), optional,intent(in),check(shape(conn,1)==nconn),depend(conn) :: nconn=shape(conn,1)
795 integer(kind=inttype) dimension(ncell),intent(inout) :: flag
796 integer(kind=inttype), optional,intent(in),check(len(flag)==ncell),depend(flag) :: ncell=len(flag)
797 integer(kind=inttype) dimension(nblocks),intent(in) :: blockids
798 integer(kind=inttype), optional,intent(in),check(len(blockids)==nblocks),depend(blockids) :: nblocks=len(blockids)
799 integer(kind=inttype), intent(in) :: k_min
800 end subroutine flagcellsinsurface
801 end module oversetapi
803 module oversetutilities
804 subroutine getoversetiblank(blklist,n) ! in :test:oversetUtilities.F90:oversetutilities
805 integer(kind=inttype) dimension(n),intent(out),depend(n) :: blklist
806 integer(kind=inttype) intent(in) :: n
807 end subroutine getoversetiblank
808 end module oversetutilities
812 subroutine setuppetscksp
813 end subroutine setuppetscksp
815 subroutine setupallresidualmatricesfwd
816 end subroutine setupallresidualmatricesfwd
818 subroutine solveadjoint(rhs,psi,checksolution,nstate) ! in :test:solveADjointTransposePETSc.F90
819 real(kind=realtype) dimension(nstate) :: rhs
820 real(kind=realtype) dimension(nstate),depend(nstate) :: psi
821 logical :: checksolution
822 integer(kind=inttype), optional,check(len(rhs)>=nstate),depend(rhs) :: nstate=len(rhs)
823 end subroutine solveadjoint
825 subroutine solveadjointforrhs(invec,outvec,ndof,relativetolerance) ! in :test:matrixFreeRoutines.F90
826 real(kind=realtype) dimension(ndof),intent(in) :: invec
827 real(kind=realtype) dimension(ndof),intent(out),depend(ndof) :: outvec
828 integer(kind=inttype), optional,intent(in),check(len(invec)>=ndof),depend(invec) :: ndof=len(invec)
829 real(kind=realtype) intent(in) :: relativetolerance
830 end subroutine solveadjointforrhs
831 subroutine solvedirectforrhs(invec,outvec,ndof,relativetolerance) ! in :test:matrixFreeRoutines.F90
832 real(kind=realtype) dimension(ndof),intent(in) :: invec
833 real(kind=realtype) dimension(ndof),intent(out),depend(ndof) :: outvec
834 integer(kind=inttype), optional,intent(in),check(len(invec)>=ndof),depend(invec) :: ndof=len(invec)
835 real(kind=realtype) intent(in) :: relativetolerance
836 end subroutine solvedirectforrhs
838 subroutine saveadjointmatrix(filename)
839 character*(*) intent(in) :: filename
840 end subroutine saveadjointmatrix
842 subroutine saveadjointpc(filename)
843 character*(*) intent(in) :: filename
844 end subroutine saveadjointpc
846 subroutine saveadjointrhs(rhs,filename,nstate) ! in :test:solveADjointTransposePETSc.F90
847 real(kind=realtype) dimension(nstate) :: rhs
848 character*(*) intent(in) :: filename
849 integer(kind=inttype), optional,check(len(rhs)>=nstate),depend(rhs) :: nstate=len(rhs)
850 end subroutine solveadjoint
853 subroutine savecellcenters(filename)
854 character*(*) intent(in) :: filename
855 end subroutine savecellcenters
857 subroutine spectralprecscribedmotion(input,nin,dxv,nout)
858 real(kind=realtype) dimension(nin),intent(in) :: input
859 integer(kind=inttype), optional,intent(in),check(len(input)>=nin),depend(input) :: nin=len(input)
860 real(kind=realtype) dimension(nout),intent(out),depend(nout) :: dxv
861 integer(kind=inttype) intent(in) :: nout
862 end subroutine spectralprecscribedmotion
864 subroutine createpetscvars
865 end subroutine createpetscvars
868 subroutine computematrixfreeproductfwd(xvdot,extradot,wdot,bcdatavaluesdot,usespatial,usestate,famlists,bcdatanames,bcdatavalues,bcdatafamlists,bcvarsempty,dwdot,funcsdot,fdot,costsize,fsize,ntime) ! in :test:adjointAPI.F90:adjointapi
869 real(kind=realtype) dimension(:),intent(in) :: xvdot
870 real(kind=realtype) dimension(:),intent(in) :: extradot
871 real(kind=realtype) dimension(:),intent(in) :: wdot
872 real(kind=realtype) dimension(:),intent(in) :: bcdatavaluesdot
873 logical intent(in) :: usespatial
874 logical intent(in) :: usestate
875 integer(kind=inttype) dimension(:,:) :: famlists
876 character dimension(:,:),intent(in) :: bcdatanames
877 real(kind=realtype) dimension(:),intent(in) :: bcdatavalues
878 integer(kind=inttype) dimension(:,:) :: bcdatafamlists
879 logical intent(in) :: bcvarsempty
880 real(kind=realtype) dimension(size(wdot)),intent(out),depend(wdot) :: dwdot
881 real(kind=realtype) dimension(costsize, size(famlists,1)),intent(out),depend(famlists,costsize) :: funcsdot
882 real(kind=realtype) dimension(3,fsize,ntime),intent(out),depend(fsize,ntime) :: fdot
883 integer(kind=inttype) :: costsize
884 integer(kind=inttype) :: fsize
885 integer(kind=inttype) :: ntime
886 end subroutine computematrixfreeproductfwd
887 subroutine computematrixfreeproductbwd(dwbar,funcsbar,fbar,usespatial,usestate,xvbar,extrabar,wbar,spatialsize,extrasize,statesize,famlists,bcdatanames,bcdatavalues,bcdatavaluesbar,bcdatafamlists,bcvarsempty) ! in :test:adjointAPI.F90:adjointapi
888 real(kind=realtype) dimension(:),intent(in) :: dwbar
889 real(kind=realtype) dimension(:,:),intent(in) :: funcsbar
890 real(kind=realtype) dimension(:,:,:) :: fbar
891 logical intent(in) :: usespatial
892 logical intent(in) :: usestate
893 real(kind=realtype) dimension(spatialsize),intent(out),depend(spatialsize) :: xvbar
894 real(kind=realtype) dimension(extrasize),intent(out),depend(extrasize) :: extrabar
895 real(kind=realtype) dimension(statesize),intent(out),depend(statesize) :: wbar
896 integer(kind=inttype) intent(in) :: spatialsize
897 integer(kind=inttype) intent(in) :: extrasize
898 integer(kind=inttype) intent(in) :: statesize
899 integer(kind=inttype) dimension(:,:),intent(in) :: famlists
900 character dimension(:,:),intent(in) :: bcdatanames
901 real(kind=realtype) dimension(:),intent(in) :: bcdatavalues
902 real(kind=realtype) dimension(size(bcdatavalues)),intent(out),depend(bcdatavalues) :: bcdatavaluesbar
903 integer(kind=inttype) dimension(:,:) :: bcdatafamlists
904 logical intent(in) :: bcvarsempty
905 end subroutine computematrixfreeproductbwd
908 subroutine computematrixfreeproductbwdfast(dwbar, wbar, statesize)! in :test:adjointapi.f90:adjointapi
909 real(kind=realtype) dimension(:),intent(in) :: dwbar
910 real(kind=realtype) dimension(statesize),intent(out),depend(statesize) :: wbar
911 integer(kind=inttype) intent(in) :: statesize
912 end subroutine computematrixfreeproductbwdfast
914 end module adjointapi
918 subroutine computematrixfreeproductfwdfd(xvdot,extradot,wdot,bcdatavaluesdot,usespatial,usestate,famlists,bcdatanames,bcdatavalues,bcdatafamlists,bcvarsempty,dwdot,funcsdot,fdot,costsize,fsize,ntime,h) ! in :test:adjointAPI.F90:adjointdebug
919 real(kind=realtype) dimension(:),intent(in) :: xvdot
920 real(kind=realtype) dimension(:),intent(in) :: extradot
921 real(kind=realtype) dimension(:),intent(in) :: wdot
922 real(kind=realtype) dimension(:),intent(in) :: bcdatavaluesdot
923 logical intent(in) :: usespatial
924 logical intent(in) :: usestate
925 integer(kind=inttype) dimension(:,:) :: famlists
926 character dimension(:,:),intent(in) :: bcdatanames
927 real(kind=realtype) dimension(:),intent(in) :: bcdatavalues
928 integer(kind=inttype) dimension(:,:) :: bcdatafamlists
929 logical intent(in) :: bcvarsempty
930 real(kind=realtype) dimension(size(wdot)),intent(out),depend(wdot) :: dwdot
931 real(kind=realtype) dimension(costsize, size(famlists,1)),intent(out),depend(famlists,costsize) :: funcsdot
932 real(kind=realtype) dimension(3,fsize,ntime),intent(out),depend(fsize,ntime) :: fdot
933 integer(kind=inttype) :: costsize
934 integer(kind=inttype) :: fsize
935 integer(kind=inttype) :: ntime
936 real(kind=realtype) :: h
937 end subroutine computematrixfreeproductfwdfd
939 subroutine computematrixfreeproductfwdcs(xvdot,extradot,wdot,bcdatavaluesdot,usespatial,usestate,famlists,bcdatanames,bcdatavalues,bcdatafamlists,bcvarsempty,dwdot,funcsdot,fdot,costsize,fsize,ntime,h_mag) ! in :test:adjointAPI.F90:adjointdebug
940 real(kind=realtype) dimension(:),intent(in) :: xvdot
941 real(kind=realtype) dimension(:),intent(in) :: extradot
942 real(kind=realtype) dimension(:),intent(in) :: wdot
943 real(kind=realtype) dimension(:),intent(in) :: bcdatavaluesdot
944 logical intent(in) :: usespatial
945 logical intent(in) :: usestate
946 integer(kind=inttype) dimension(:,:) :: famlists
947 character dimension(:,:),intent(in) :: bcdatanames
948 real(kind=realtype) dimension(:),intent(in) :: bcdatavalues
949 integer(kind=inttype) dimension(:,:) :: bcdatafamlists
950 logical intent(in) :: bcvarsempty
951 real(kind=realtype) dimension(size(wdot)),intent(out),depend(wdot) :: dwdot
952 real(kind=realtype) dimension(costsize, size(famlists,1)),intent(out),depend(famlists,costsize) :: funcsdot
953 real(kind=realtype) dimension(3,fsize,ntime),intent(out),depend(fsize,ntime) :: fdot
954 integer(kind=inttype) :: costsize
955 integer(kind=inttype) :: fsize
956 integer(kind=inttype) :: ntime
957 real(kind=alwaysrealtype) :: h_mag
959 end subroutine computematrixfreeproductfwdcs
961 endmodule adjointdebug
964 subroutine initializepetsc
965 end subroutine initializepetsc
967 subroutine destroypetscvars
968 end subroutine destroypetscvars
969 end module adjointutils
972 subroutine createzippermesh(zipperfamlist,nzipfam) ! in :test:createZipperMesh.F90
973 integer(kind=inttype) dimension(nzipfam),intent(in) :: zipperfamlist
974 integer(kind=inttype), optional,intent(in),check(len(zipperfamlist)>=nzipfam),depend(zipperfamlist) :: nzipfam=len(zipperfamlist)
975 end subroutine createzippermesh
976 subroutine checkzipper(filename)
977 character*(*) intent(in) :: filename
978 end subroutine checkzipper
979 end module zippermesh
983 real(kind=realtype) dimension(16) :: oversettimes
984 end module oversetdata
986 module communication ! in :adflow:../../modules/communication.f90
988 integer :: adflow_comm_world
991 integer allocatable,dimension(:) :: sendrequests
992 integer allocatable,dimension(:) :: recvrequests
993 end module communication
995 module inputdiscretization ! in :adflow:../../modules/inputParam.f90
997 integer(kind=inttype) :: spacediscr
998 integer(kind=inttype) :: spacediscrcoarse
999 integer(kind=inttype) :: orderturb
1000 integer(kind=inttype) :: limiter
1001 integer(kind=inttype) :: riemann
1002 integer(kind=inttype) :: riemanncoarse
1003 integer(kind=inttype) :: precond
1004 integer(kind=inttype) :: eulerwallbctreatment
1005 integer(kind=inttype) :: viscwallbctreatment
1006 integer(kind=inttype) :: outflowtreatment
1007 real(kind=realtype) :: vis2
1008 real(kind=realtype) :: vis4
1009 real(kind=realtype) :: vis2coarse
1010 real(kind=realtype) :: adis
1011 real(kind=realtype) :: acousticscalefactor
1012 real(kind=realtype) :: kappacoef
1013 logical :: vortexcorr
1014 logical :: dirscaling
1015 logical :: radiineededfine
1016 logical :: radiineededcoarse
1017 logical :: lumpeddiss
1018 real(kind=realtype) :: sigma
1019 logical :: useapproxwalldistance
1020 logical :: updatewallassociations
1021 logical :: lowspeedpreconditioner
1022 logical :: useblockettes
1023 end module inputdiscretization
1027 integer(kind=inttype) :: cgnsndom
1030 module inputio ! in :adflow:../../modules/inputParam.f90
1032 character(len=maxstringlen) :: solfile
1033 character(len=maxstringlen) :: surfacesolfile
1034 character(len=maxstringlen) :: slicesolfile ! TEMPORARY
1035 character(len=maxstringlen) :: liftdistributionfile ! TEMPORARY
1036 character(len=maxstringlen) :: cpfile
1037 logical :: writecoormeter
1038 integer(kind=inttype) :: precisionsol
1039 integer(kind=inttype) :: precisiongrid
1040 integer(kind=inttype) :: precisionsurfsol
1041 integer(kind=inttype) :: precisionsurfgrid
1042 character(len=maxstringlen) :: newgridfile
1043 character(len=maxstringlen) :: gridfile
1044 logical :: storeconvinneriter
1045 logical :: storerindlayer
1046 logical :: checkrestartsol
1047 logical :: autoparameterupdate
1048 logical :: viscoussurfacevelocities
1049 logical optional :: firstwrite=.true.
1050 character(len=maxstringlen) :: paramfile
1051 character(len=maxstringlen) :: forcedvolumefile
1052 character(len=maxstringlen) :: forcedsurfacefile
1053 character(len=maxstringlen) :: forcedliftfile
1054 character(len=maxstringlen) :: forcedslicefile
1055 character(len=maxstringlen) :: convsolfilebasename
1058 module inputiteration ! in :adflow:../../modules/inputParam.f90
1061 character(len=maxstringlen) :: mgdescription
1062 integer(kind=inttype) :: ncycles
1063 real(kind=realtype) :: timelimit
1064 integer(kind=inttype) :: ncyclescoarse
1065 integer(kind=inttype) :: nsavevolume
1066 integer(kind=inttype) :: nsavesurface
1067 integer(kind=inttype) :: nsgstartup
1068 integer(kind=inttype) :: smoother
1069 integer(kind=inttype) :: nrkstages
1070 integer(kind=inttype) :: resaveraging
1071 real(kind=realtype) :: cfllimit
1072 integer(kind=inttype) :: turbtreatment
1073 integer(kind=inttype) :: nsubiterturb
1074 integer(kind=inttype) :: nsubiterations
1075 integer(kind=inttype) :: turbsmoother
1076 integer(kind=inttype) :: turbrelax
1077 integer(kind=inttype) :: mgboundcorr
1078 integer(kind=inttype) :: mgstartlevel
1079 integer(kind=inttype) :: nmgsteps
1080 integer(kind=inttype) :: nmglevels
1081 integer(kind=inttype) :: miniternum
1082 integer(kind=inttype) :: convcheckwindowsize
1083 integer(kind=inttype) allocatable,dimension(:) :: cyclestrategy
1084 real(kind=realtype) :: cfl
1085 real(kind=realtype) :: cflcoarse
1086 real(kind=realtype) :: fcoll
1087 real(kind=realtype) :: smoop
1088 real(kind=realtype) :: alfaturb
1089 real(kind=realtype) :: betaturb
1090 real(kind=realtype) :: l2conv
1091 real(kind=realtype) :: l2convcoarse
1092 real(kind=realtype) :: l2convrel
1093 real(kind=realtype) :: epscoefconv
1094 real(kind=realtype) allocatable,dimension(:) :: etark
1095 real(kind=realtype) allocatable,dimension(:) :: cdisrk
1096 real(kind=realtype), dimension(4) :: turbresscale
1097 real(kind=realtype) :: meshmaxskewness
1098 logical :: useskewnesscheck
1099 logical :: freezeturbsource
1100 logical :: printiterations
1101 logical :: printwarnings
1102 logical :: printnegativevolumes
1103 logical :: printbadlyskewedcells
1104 logical :: printbcwarnings
1105 real(kind=realtype) ::maxl2deviationfactor
1106 logical :: uselinresmonitor
1107 logical :: usedisscontinuation
1108 real(kind=realtype) :: disscontmagnitude
1109 real(kind=realtype) :: disscontmidpoint
1110 real(kind=realtype) :: disscontsharpness
1111 end module inputiteration
1113 module inputmotion ! in :adflow:../../modules/inputParam.f90
1115 real(kind=realtype), dimension(3) :: rotpoint
1116 real(kind=realtype) allocatable,dimension(:) :: coscoeffouryrot
1117 real(kind=realtype) allocatable,dimension(:) :: coscoeffourxrot
1118 integer(kind=inttype) :: degreefourxrot
1119 real(kind=realtype) allocatable,dimension(:) :: sincoeffouralpha
1120 real(kind=realtype) :: omegafourbeta
1121 real(kind=realtype) allocatable,dimension(:) :: coscoeffourbeta
1122 real(kind=realtype) allocatable,dimension(:) :: sincoeffourbeta
1123 integer(kind=inttype) :: degreepolbeta
1124 real(kind=realtype) allocatable,dimension(:) :: sincoeffourmach
1125 integer(kind=inttype) :: degreepolmach
1126 real(kind=realtype) :: omegafourmach
1127 integer(kind=inttype) :: degreepolalpha
1128 real(kind=realtype) allocatable,dimension(:) :: coefpolmach
1129 real(kind=realtype) allocatable,dimension(:) :: coscoeffouralpha
1130 real(kind=realtype) allocatable,dimension(:) :: coscoeffourmach
1131 real(kind=realtype) allocatable,dimension(:) :: coefpolzrot
1132 logical :: gridmotionspecified
1133 real(kind=realtype) :: omegafourzrot
1134 integer(kind=inttype) :: degreefouryrot
1135 real(kind=realtype) allocatable,dimension(:) :: coefpolyrot
1136 integer(kind=inttype) :: degreefourbeta
1137 real(kind=realtype) :: omegafouralpha
1138 real(kind=realtype) allocatable,dimension(:) :: coscoeffourzrot
1139 integer(kind=inttype) :: degreepolzrot
1140 real(kind=realtype) allocatable,dimension(:) :: sincoeffourzrot
1141 real(kind=realtype) :: omegafouryrot
1142 integer(kind=inttype) :: degreefourzrot
1143 integer(kind=inttype) :: degreefourmach
1144 integer(kind=inttype) :: degreefouralpha
1145 real(kind=realtype) allocatable,dimension(:) :: coefpolalpha
1146 real(kind=realtype) :: omegafourxrot
1147 integer(kind=inttype) :: degreepolyrot
1148 real(kind=realtype) allocatable,dimension(:) :: sincoeffourxrot
1149 real(kind=realtype) allocatable,dimension(:) :: sincoeffouryrot
1150 integer(kind=inttype) :: degreepolxrot
1151 real(kind=realtype) allocatable,dimension(:) :: coefpolxrot
1152 real(kind=realtype) allocatable,dimension(:) :: coefpolbeta
1153 end module inputmotion
1155 module inputparallel ! in :adflow:../../modules/inputParam.f90
1156 real(kind=realtype) :: loadimbalance
1157 logical :: splitblocks
1158 integer(kind=inttype) :: loadbalanceiter
1159 integer(kind=inttype) :: partitionlikenproc
1160 end module inputparallel
1162 module inputphysics ! in :adflow:../../modules/inputParam.f90
1165 integer(kind=inttype) :: equations
1166 integer(kind=inttype) :: equationmode
1167 integer(kind=inttype) :: flowtype
1168 integer(kind=inttype) :: turbmodel
1169 integer(kind=inttype) :: cpmodel
1170 integer(kind=inttype) :: turbprod
1171 integer(kind=inttype) :: rvfn
1174 logical :: userotationsa
1176 logical :: wallfunctions
1177 real(kind=realtype) :: mach
1178 real(kind=realtype) :: machcoef
1179 real(kind=realtype) :: machgrid
1180 real(kind=realtype) :: reynolds
1181 real(kind=realtype) :: reynoldslength
1182 real(kind=realtype) :: gammaconstant
1183 real(kind=realtype) :: rgasdim
1184 real(kind=realtype) :: prandtl
1185 real(kind=realtype) :: prandtlturb
1186 real(kind=realtype) :: pklim
1187 real(kind=realtype) :: walloffset
1188 real(kind=realtype) :: eddyvisinfratio
1189 real(kind=realtype) :: turbintensityinf
1190 real(kind=realtype) :: surfaceref
1191 real(kind=realtype) :: lengthref
1192 real(kind=realtype) dimension(3) :: veldirfreestream
1193 real(kind=realtype) dimension(3) :: liftdirection
1194 real(kind=realtype) dimension(3) :: dragdirection
1195 real(kind=realtype) dimension(3) :: pointref
1196 real(kind=realtype) dimension(3) :: pointrefec
1197 real(kind=realtype) dimension(3,2) :: momentaxis
1198 logical :: forcesastractions
1199 real(kind=realtype) :: ssuthdim
1200 real(kind=realtype) :: musuthdim
1201 real(kind=realtype) :: tsuthdim
1202 real(kind=realtype) :: walldistcutoff
1203 real(kind=realtype) :: alpha
1204 real(kind=realtype) :: beta
1205 integer(kind=inttype) :: liftindex
1206 real(kind=realtype) :: cavitationnumber
1207 real(kind=realtype) :: cpmin_rho
1208 real(kind=realtype) :: sepsenmaxrho
1209 real(kind=realtype) :: sakappa
1210 real(kind=realtype) :: sacb1
1211 real(kind=realtype) :: sacb2
1212 real(kind=realtype) :: sasigma
1213 real(kind=realtype) :: sacv1
1214 real(kind=realtype) :: sacw2
1215 real(kind=realtype) :: sacw3
1216 real(kind=realtype) :: sact1
1217 real(kind=realtype) :: sact2
1218 real(kind=realtype) :: sact3
1219 real(kind=realtype) :: sact4
1220 real(kind=realtype) :: sacrot
1221 end module inputphysics
1223 module inputadjoint ! in :adflow:../modules/inputParam.f90
1225 character(len=maxstringlen) :: adjointpcside
1226 character(len=maxstringlen) :: matrixordering
1227 character(len=maxstringlen) :: adjointsolvertype
1228 character(len=maxstringlen) :: gmresorthogtype
1229 character(len=maxstringlen) :: localpctype
1230 character(len=maxstringlen) :: precondtype
1231 real(kind=alwaysrealtype) :: adjabstol
1232 real(kind=alwaysrealtype) :: adjdivtol
1233 real(kind=alwaysrealtype) :: adjreltol
1234 real(kind=alwaysrealtype) :: adjreltolrel
1235 real(kind=realtype) :: adjmaxl2dev
1236 integer(kind=inttype) :: overlap
1237 integer(kind=inttype) :: adjmonstep
1238 integer(kind=inttype) :: filllevel
1239 integer(kind=inttype) :: adjmaxiter
1240 integer(kind=inttype) :: adjrestart
1241 integer(kind=inttype) :: innerpreconits
1242 integer(kind=inttype) :: outerpreconits
1243 integer(kind=inttype) :: adjamglevels
1244 integer(kind=inttype) :: adjamgnsmooth
1248 logical :: frozenturbulence
1249 logical :: usediagtspc
1250 logical :: setmonitor
1251 logical :: printtiming
1253 logical :: verifystate
1254 logical :: verifyspatial
1255 logical :: verifyextra
1256 logical :: usematrixfreedrdw
1257 integer(kind=inttype) :: applyadjointpcsubspacesize
1258 end module inputadjoint
1260 module inputtimespectral ! in :adflow:../../modules/inputParam.f90
1262 integer(kind=inttype) :: ntimeintervalsspectral
1263 real(kind=realtype) allocatable,dimension(:,:,:) :: dscalar
1264 real(kind=realtype) allocatable,dimension(:,:,:) :: dvector
1265 real(kind=realtype) :: dtunsteadyrestartspectral
1266 logical :: usetsinterpolatedgridvelocity
1267 logical :: writeunsteadyrestartspectral
1268 integer(kind=inttype) :: nunsteadysolspectral
1269 logical :: writeunsteadyvolspectral
1270 logical :: writeunsteadysurfspectral
1271 real(kind=realtype) allocatable,dimension(:,:,:) :: rotmatrixspectral
1272 real(kind=realtype) :: omegafourier
1273 end module inputtimespectral
1275 logical :: useoversetloadbalance
1276 real(kind=realtype) :: nearwalldist
1277 real(kind=realtype) :: backgroundvolscale
1278 real(kind=realtype) :: oversetprojtol
1279 real(kind=realtype) :: overlapfactor
1280 integer(kind=inttype) :: oversetupdatemode
1281 integer(kind=inttype)::nrefine
1282 integer(kind=inttype)::nflooditer
1283 logical :: debugzipper
1284 logical :: usezippermesh
1285 logical :: useoversetwallscaling
1286 logical :: recomputeoverlapmatrix
1287 logical :: oversetdebugprint
1288 real(kind=realtype) :: selfzipcutoff
1289 end module inputoverset
1291 module inputunsteady ! in :test:inputParam.f90
1293 real(kind=realtype) :: deltat
1295 integer(kind=inttype) :: timeintegrationscheme
1296 logical :: updatewalldistanceunsteady
1297 integer(kind=inttype) :: timeaccuracy
1298 integer(kind=inttype) :: ntimestepsfine
1299 integer(kind=inttype) :: ntimestepscoarse
1300 end module inputunsteady
1302 module iteration ! in :adflow:../../modules/iteration.f90
1304 integer(kind=inttype) :: groundlevel
1305 integer(kind=inttype) :: currentlevel
1306 integer(kind=inttype) :: rkstage
1307 integer(kind=inttype) :: nstepscycling
1308 integer(kind=inttype) allocatable,dimension(:) :: cycling
1309 integer(kind=inttype) :: itertot
1310 integer(kind=inttype) :: approxtotalits
1311 real(kind=realtype) :: rfil
1312 real(kind=realtype) :: t0solver
1313 logical :: converged
1314 logical :: exchangepressureearly
1315 logical :: standalonemode
1316 logical :: changing_grid
1317 logical :: deforming_grid
1318 logical :: changingoverset
1319 integer(kind=inttype) :: noldsolavail
1320 integer(kind=inttype) :: noldlevels
1321 real(kind=realtype) allocatable,dimension(:) :: coeftime
1322 logical :: timespectralgridsnotwritten
1323 logical, dimension(:), allocatable :: oldsolwritten
1324 real(kind=realtype) :: totalr0
1325 real(kind=realtype) :: totalrstart
1326 real(kind=realtype) :: totalrfinal
1327 end module iteration
1329 module monitor ! in :adflow:../../modules/monitor.f90
1334 real(kind=realtype) allocatable,dimension(:) :: monloc
1335 real(kind=realtype) allocatable,dimension(:) :: monglob
1336 real(kind=realtype) allocatable,dimension(:) :: monref
1337 character(len=32) allocatable,dimension(:) :: monnames
1338 logical :: monmachorhmax
1340 logical :: monmasssliding
1341 logical :: monmassfamilies
1342 real(kind=realtype) allocatable,dimension(:,:,:) :: convarray
1343 real(kind=realtype) allocatable,dimension(:,:,:) :: solverdataarray
1344 integer(kind=inttype) :: ntimestepsrestart
1345 integer(kind=inttype) :: timestepunsteady
1346 real(kind=realtype) :: timeunsteady
1347 real(kind=realtype) :: timeunsteadyrestart
1348 real(kind=realtype) allocatable,dimension(:) :: timearray
1349 real(kind=realtype) allocatable,dimension(:,:) :: timedataarray
1350 logical :: writegrid
1351 logical :: writevolume
1352 logical :: writesurface
1353 logical :: writesoleachiter
1356 module block ! in :adflow:../../modules/block.f90
1358 integer(kind=inttype) :: ndom
1359 integer(kind=inttype) allocatable,dimension(:) :: ncellglobal
1362 module flowvarrefstate ! in :adflow:../../modules/flowVarRefState.f90
1364 integer(kind=inttype) :: nw
1365 integer(kind=inttype) :: nwf
1366 integer(kind=inttype) :: nwt
1367 integer(kind=inttype) :: nt1
1368 integer(kind=inttype) :: nt2
1369 real(kind=realtype) :: pref
1370 real(kind=realtype) :: rhoref
1371 real(kind=realtype) :: tref
1372 real(kind=realtype) :: muref
1373 real(kind=realtype) :: timeref
1374 real(kind=realtype) :: lref
1375 logical :: lrefspecified
1376 real(kind=realtype) :: pinfdim
1377 real(kind=realtype) :: rhoinfdim
1378 real(kind=realtype) :: tinfdim
1379 real(kind=realtype) :: mudim
1380 real(kind=realtype) :: rhoinf
1381 real(kind=realtype) :: uinf
1382 real(kind=realtype) :: pinf
1383 real(kind=realtype) :: pinfcorr
1384 real(kind=realtype) :: rgas
1385 real(kind=realtype) :: muinf
1386 real(kind=realtype) :: gammainf
1387 real(kind=realtype) allocatable,dimension(:) :: winf
1389 logical :: eddymodel
1391 end module flowvarrefstate
1393 module killsignals ! in :adflow:../../modules/killSignals.f90
1395 logical :: frompython
1396 logical :: routinefailed
1397 logical :: fatalfail
1398 logical :: adjointfailed
1399 end module killsignals
1401 module inputcostfunctions ! in :test:costFunctions.F90
1403 logical::computesepsensorks
1404 real(kind=realtype) sepsensoroffset
1405 real(kind=realtype) sepsensorksoffset
1406 real(kind=realtype) sepsensorsharpness
1407 real(kind=realtype) sepsensorkssharpness
1408 real(kind=realtype) sepsensorksphi
1409 real(kind=realtype) cavsensoroffset
1410 real(kind=realtype) cavsensorsharpness
1411 integer(kind=inttype) cavexponent
1412 logical::computecavitation
1413 end module inputcostfunctions
1415 module adjointvars ! in :test:ADjointVars.F90
1417 integer(kind=inttype) dimension(20) :: ncellslocal
1418 integer(kind=inttype) dimension(20) :: ncellsglobal
1419 integer(kind=inttype) dimension(20) :: nnodeslocal
1420 integer(kind=inttype), parameter,optional :: ialpha=1
1421 integer(kind=inttype), parameter,optional :: ibeta=2
1422 integer(kind=inttype), parameter,optional :: imach=3
1423 integer(kind=inttype), parameter,optional :: imachgrid=4
1424 integer(kind=inttype), parameter,optional :: irotx=5
1425 integer(kind=inttype), parameter,optional :: iroty=6
1426 integer(kind=inttype), parameter,optional :: irotz=7
1427 integer(kind=inttype), parameter,optional :: irotcenx=8
1428 integer(kind=inttype), parameter,optional :: irotceny=9
1429 integer(kind=inttype), parameter,optional :: irotcenz=10
1430 integer(kind=inttype), parameter,optional :: ipointrefx=11
1431 integer(kind=inttype), parameter,optional :: ipointrefy=12
1432 integer(kind=inttype), parameter,optional :: ipointrefz=13
1433 integer(kind=inttype), parameter,optional :: ipressure=14
1434 integer(kind=inttype), parameter,optional :: itemperature=15
1435 integer(kind=inttype), parameter,optional :: idensity=16
1436 integer(kind=inttype), parameter,optional :: iaxisx1=17
1437 integer(kind=inttype), parameter,optional :: iaxisx2=18
1438 integer(kind=inttype), parameter,optional :: iaxisy1=19
1439 integer(kind=inttype), parameter,optional :: iaxisy2=20
1440 integer(kind=inttype), parameter,optional :: iaxisz1=21
1441 integer(kind=inttype), parameter,optional :: iaxisz2=22
1442 integer(kind=inttype), parameter,optional :: ndesignextra=22
1443 end module adjointvars
1446 real(kind=alwaysrealtype) :: adjresinit, adjresstart, adjresfinal
1447 end module adjointpetsc
1449 module inputtsstabderiv ! in :test:inputParam.f90
1450 logical :: usewindaxis
1452 logical :: tsstability
1453 logical :: tsbetamode
1454 logical :: tsmachmode
1455 logical :: tsaltitudemode
1458 logical :: tsalphamode
1459 logical :: tsalphafollowing
1460 end module inputtsstabderiv
1462 module surfacefamilies ! in :test:inputParam.F90
1463 subroutine getnfam(nfam) ! in :test:surfaceFamilies.F90:surfacefamilies
1464 integer(kind=inttype) intent(out) :: nfam
1465 end subroutine getnfam
1466 subroutine getfam(i,fam) ! in :test:surfaceFamilies.F90:surfacefamilies
1467 integer(kind=inttype) intent(in) :: i
1468 character(32) intent(out) :: fam
1469 end subroutine getfam
1470 end module surfacefamilies
1472 ! ================ bare subroutines =============
1474 subroutine writesol(famlist,nfamlist) ! in :test:writeSol.F90
1475 integer(kind=inttype) dimension(nfamlist),intent(in) :: famlist
1476 integer(kind=inttype), optional,intent(in),check(len(famlist)>=nfamlist),depend(famlist) :: nfamlist=len(famlist)
1477 end subroutine writesol
1479 subroutine getforces(forces,npts,sps) ! in :test:getForces.F90
1480 real(kind=realtype) dimension(3,npts),intent(inout) :: forces
1481 integer(kind=inttype), optional,intent(in),check(shape(forces,1)==npts),depend(forces) :: npts=shape(forces,1)
1482 integer(kind=inttype) intent(in) :: sps
1483 end subroutine getforces
1485 subroutine getheatflux(hflux,npts,sps_in) ! in :test:getForces.F90
1486 real(kind=realtype) dimension(npts),intent(inout) :: hflux
1487 integer(kind=inttype), optional,intent(in),depend(hflux) :: npts=len(hflux)
1488 integer(kind=inttype) intent(in) :: sps_in
1489 end subroutine getheatflux
1491 subroutine settnswall(tnsw,npts,sps_in) ! in :test:getForces.F90
1492 real(kind=realtype) dimension(npts),intent(in) :: tnsw
1493 integer(kind=inttype) optional,intent(in),check(len(tnsw)>=npts),depend(tnsw) :: npts=len(tnsw)
1494 integer(kind=inttype) intent(in) :: sps_in
1495 end subroutine settnswall
1497 subroutine gettnswall(tnsw,npts,sps) ! in :test:getForces.F90
1498 real(kind=realtype) dimension(npts),intent(out),depend(npts) :: tnsw
1499 integer(kind=inttype) intent(in) :: npts
1500 integer(kind=inttype) intent(in) :: sps
1501 end subroutine gettnswall
1503 subroutine setcptargets(cptarget,npts,sps_in) ! in :test:setCpTarget.f90
1504 real(kind=realtype) dimension(npts),intent(in) :: cptarget
1505 integer(kind=inttype) optional,intent(in),check(len(cptarget)>=npts),depend(cptarget) :: npts=len(cptarget)
1506 integer(kind=inttype) intent(in) :: sps_in
1507 end subroutine setcptargets
1509 subroutine getcptargets(cptarget,npts,sps) ! in :test:getForces.F90
1510 real(kind=realtype) dimension(npts),intent(out),depend(npts) :: cptarget
1511 integer(kind=inttype) intent(in) :: npts
1512 integer(kind=inttype) intent(in) :: sps
1513 end subroutine getcptargets
1515 subroutine getareas(areas,pts,npts,sps_in,axis) ! in :test:getAreas.f90
1516 real(kind=realtype) dimension(3,npts),intent(out),depend(npts) :: areas
1517 real(kind=realtype) dimension(3,npts),intent(in) :: pts
1518 integer(kind=inttype) optional,intent(in),check(shape(pts,1)==npts),depend(pts) :: npts=shape(pts,1)
1519 integer(kind=inttype) intent(in) :: sps_in
1520 real(kind=realtype) dimension(3),intent(in) :: axis
1521 end subroutine getareas
1523 subroutine getareasensitivity(darea,pts,npts,sps_in,axis) ! in :test:getAreas.f90
1524 real(kind=realtype) dimension(3,npts),intent(out),depend(npts) :: darea
1525 real(kind=realtype) dimension(3,npts),intent(in) :: pts
1526 integer(kind=inttype) optional,intent(in),check(shape(pts,1)==npts),depend(pts) :: npts=shape(pts,1)
1527 integer(kind=inttype) intent(in) :: sps_in
1528 real(kind=realtype) dimension(3),intent(in) :: axis
1529 end subroutine getareasensitivity
1535 end python module libadflow_cs
1537 end python module libadflow