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 end module inputphysics
1211 module inputadjoint ! in :adflow:../modules/inputParam.f90
1213 character(len=maxstringlen) :: adjointpcside
1214 character(len=maxstringlen) :: matrixordering
1215 character(len=maxstringlen) :: adjointsolvertype
1216 character(len=maxstringlen) :: gmresorthogtype
1217 character(len=maxstringlen) :: localpctype
1218 character(len=maxstringlen) :: precondtype
1219 real(kind=alwaysrealtype) :: adjabstol
1220 real(kind=alwaysrealtype) :: adjdivtol
1221 real(kind=alwaysrealtype) :: adjreltol
1222 real(kind=alwaysrealtype) :: adjreltolrel
1223 real(kind=realtype) :: adjmaxl2dev
1224 integer(kind=inttype) :: overlap
1225 integer(kind=inttype) :: adjmonstep
1226 integer(kind=inttype) :: filllevel
1227 integer(kind=inttype) :: adjmaxiter
1228 integer(kind=inttype) :: adjrestart
1229 integer(kind=inttype) :: innerpreconits
1230 integer(kind=inttype) :: outerpreconits
1231 integer(kind=inttype) :: adjamglevels
1232 integer(kind=inttype) :: adjamgnsmooth
1236 logical :: frozenturbulence
1237 logical :: usediagtspc
1238 logical :: setmonitor
1239 logical :: printtiming
1241 logical :: verifystate
1242 logical :: verifyspatial
1243 logical :: verifyextra
1244 logical :: usematrixfreedrdw
1245 integer(kind=inttype) :: applyadjointpcsubspacesize
1246 end module inputadjoint
1248 module inputtimespectral ! in :adflow:../../modules/inputParam.f90
1250 integer(kind=inttype) :: ntimeintervalsspectral
1251 real(kind=realtype) allocatable,dimension(:,:,:) :: dscalar
1252 real(kind=realtype) allocatable,dimension(:,:,:) :: dvector
1253 real(kind=realtype) :: dtunsteadyrestartspectral
1254 logical :: usetsinterpolatedgridvelocity
1255 logical :: writeunsteadyrestartspectral
1256 integer(kind=inttype) :: nunsteadysolspectral
1257 logical :: writeunsteadyvolspectral
1258 logical :: writeunsteadysurfspectral
1259 real(kind=realtype) allocatable,dimension(:,:,:) :: rotmatrixspectral
1260 real(kind=realtype) :: omegafourier
1261 end module inputtimespectral
1263 logical :: useoversetloadbalance
1264 real(kind=realtype) :: nearwalldist
1265 real(kind=realtype) :: backgroundvolscale
1266 real(kind=realtype) :: oversetprojtol
1267 real(kind=realtype) :: overlapfactor
1268 integer(kind=inttype) :: oversetupdatemode
1269 integer(kind=inttype)::nrefine
1270 integer(kind=inttype)::nflooditer
1271 logical :: debugzipper
1272 logical :: usezippermesh
1273 logical :: useoversetwallscaling
1274 logical :: recomputeoverlapmatrix
1275 logical :: oversetdebugprint
1276 real(kind=realtype) :: selfzipcutoff
1277 end module inputoverset
1279 module inputunsteady ! in :test:inputParam.f90
1281 real(kind=realtype) :: deltat
1283 integer(kind=inttype) :: timeintegrationscheme
1284 logical :: updatewalldistanceunsteady
1285 integer(kind=inttype) :: timeaccuracy
1286 integer(kind=inttype) :: ntimestepsfine
1287 integer(kind=inttype) :: ntimestepscoarse
1288 end module inputunsteady
1290 module iteration ! in :adflow:../../modules/iteration.f90
1292 integer(kind=inttype) :: groundlevel
1293 integer(kind=inttype) :: currentlevel
1294 integer(kind=inttype) :: rkstage
1295 integer(kind=inttype) :: nstepscycling
1296 integer(kind=inttype) allocatable,dimension(:) :: cycling
1297 integer(kind=inttype) :: itertot
1298 integer(kind=inttype) :: approxtotalits
1299 real(kind=realtype) :: rfil
1300 real(kind=realtype) :: t0solver
1301 logical :: converged
1302 logical :: exchangepressureearly
1303 logical :: standalonemode
1304 logical :: changing_grid
1305 logical :: deforming_grid
1306 logical :: changingoverset
1307 integer(kind=inttype) :: noldsolavail
1308 integer(kind=inttype) :: noldlevels
1309 real(kind=realtype) allocatable,dimension(:) :: coeftime
1310 logical :: timespectralgridsnotwritten
1311 logical, dimension(:), allocatable :: oldsolwritten
1312 real(kind=realtype) :: totalr0
1313 real(kind=realtype) :: totalrstart
1314 real(kind=realtype) :: totalrfinal
1315 end module iteration
1317 module monitor ! in :adflow:../../modules/monitor.f90
1322 real(kind=realtype) allocatable,dimension(:) :: monloc
1323 real(kind=realtype) allocatable,dimension(:) :: monglob
1324 real(kind=realtype) allocatable,dimension(:) :: monref
1325 character(len=32) allocatable,dimension(:) :: monnames
1326 logical :: monmachorhmax
1328 logical :: monmasssliding
1329 logical :: monmassfamilies
1330 real(kind=realtype) allocatable,dimension(:,:,:) :: convarray
1331 real(kind=realtype) allocatable,dimension(:,:,:) :: solverdataarray
1332 integer(kind=inttype) :: ntimestepsrestart
1333 integer(kind=inttype) :: timestepunsteady
1334 real(kind=realtype) :: timeunsteady
1335 real(kind=realtype) :: timeunsteadyrestart
1336 real(kind=realtype) allocatable,dimension(:) :: timearray
1337 real(kind=realtype) allocatable,dimension(:,:) :: timedataarray
1338 logical :: writegrid
1339 logical :: writevolume
1340 logical :: writesurface
1341 logical :: writesoleachiter
1344 module block ! in :adflow:../../modules/block.f90
1346 integer(kind=inttype) :: ndom
1347 integer(kind=inttype) allocatable,dimension(:) :: ncellglobal
1350 module flowvarrefstate ! in :adflow:../../modules/flowVarRefState.f90
1352 integer(kind=inttype) :: nw
1353 integer(kind=inttype) :: nwf
1354 integer(kind=inttype) :: nwt
1355 integer(kind=inttype) :: nt1
1356 integer(kind=inttype) :: nt2
1357 real(kind=realtype) :: pref
1358 real(kind=realtype) :: rhoref
1359 real(kind=realtype) :: tref
1360 real(kind=realtype) :: muref
1361 real(kind=realtype) :: timeref
1362 real(kind=realtype) :: lref
1363 logical :: lrefspecified
1364 real(kind=realtype) :: pinfdim
1365 real(kind=realtype) :: rhoinfdim
1366 real(kind=realtype) :: tinfdim
1367 real(kind=realtype) :: mudim
1368 real(kind=realtype) :: rhoinf
1369 real(kind=realtype) :: uinf
1370 real(kind=realtype) :: pinf
1371 real(kind=realtype) :: pinfcorr
1372 real(kind=realtype) :: rgas
1373 real(kind=realtype) :: muinf
1374 real(kind=realtype) :: gammainf
1375 real(kind=realtype) allocatable,dimension(:) :: winf
1377 logical :: eddymodel
1379 end module flowvarrefstate
1381 module killsignals ! in :adflow:../../modules/killSignals.f90
1383 logical :: frompython
1384 logical :: routinefailed
1385 logical :: fatalfail
1386 logical :: adjointfailed
1387 end module killsignals
1389 module inputcostfunctions ! in :test:costFunctions.F90
1391 logical::computesepsensorks
1392 real(kind=realtype) sepsensoroffset
1393 real(kind=realtype) sepsensorksoffset
1394 real(kind=realtype) sepsensorsharpness
1395 real(kind=realtype) sepsensorkssharpness
1396 real(kind=realtype) sepsensorksphi
1397 real(kind=realtype) cavsensoroffset
1398 real(kind=realtype) cavsensorsharpness
1399 integer(kind=inttype) cavexponent
1400 logical::computecavitation
1401 end module inputcostfunctions
1403 module adjointvars ! in :test:ADjointVars.F90
1405 integer(kind=inttype) dimension(20) :: ncellslocal
1406 integer(kind=inttype) dimension(20) :: ncellsglobal
1407 integer(kind=inttype) dimension(20) :: nnodeslocal
1408 integer(kind=inttype), parameter,optional :: ialpha=1
1409 integer(kind=inttype), parameter,optional :: ibeta=2
1410 integer(kind=inttype), parameter,optional :: imach=3
1411 integer(kind=inttype), parameter,optional :: imachgrid=4
1412 integer(kind=inttype), parameter,optional :: irotx=5
1413 integer(kind=inttype), parameter,optional :: iroty=6
1414 integer(kind=inttype), parameter,optional :: irotz=7
1415 integer(kind=inttype), parameter,optional :: irotcenx=8
1416 integer(kind=inttype), parameter,optional :: irotceny=9
1417 integer(kind=inttype), parameter,optional :: irotcenz=10
1418 integer(kind=inttype), parameter,optional :: ipointrefx=11
1419 integer(kind=inttype), parameter,optional :: ipointrefy=12
1420 integer(kind=inttype), parameter,optional :: ipointrefz=13
1421 integer(kind=inttype), parameter,optional :: ipressure=14
1422 integer(kind=inttype), parameter,optional :: itemperature=15
1423 integer(kind=inttype), parameter,optional :: idensity=16
1424 integer(kind=inttype), parameter,optional :: iaxisx1=17
1425 integer(kind=inttype), parameter,optional :: iaxisx2=18
1426 integer(kind=inttype), parameter,optional :: iaxisy1=19
1427 integer(kind=inttype), parameter,optional :: iaxisy2=20
1428 integer(kind=inttype), parameter,optional :: iaxisz1=21
1429 integer(kind=inttype), parameter,optional :: iaxisz2=22
1430 integer(kind=inttype), parameter,optional :: ndesignextra=22
1431 end module adjointvars
1434 real(kind=alwaysrealtype) :: adjresinit, adjresstart, adjresfinal
1435 end module adjointpetsc
1437 module inputtsstabderiv ! in :test:inputParam.f90
1438 logical :: usewindaxis
1440 logical :: tsstability
1441 logical :: tsbetamode
1442 logical :: tsmachmode
1443 logical :: tsaltitudemode
1446 logical :: tsalphamode
1447 logical :: tsalphafollowing
1448 end module inputtsstabderiv
1450 module surfacefamilies ! in :test:inputParam.F90
1451 subroutine getnfam(nfam) ! in :test:surfaceFamilies.F90:surfacefamilies
1452 integer(kind=inttype) intent(out) :: nfam
1453 end subroutine getnfam
1454 subroutine getfam(i,fam) ! in :test:surfaceFamilies.F90:surfacefamilies
1455 integer(kind=inttype) intent(in) :: i
1456 character(32) intent(out) :: fam
1457 end subroutine getfam
1458 end module surfacefamilies
1460 ! ================ bare subroutines =============
1462 subroutine writesol(famlist,nfamlist) ! in :test:writeSol.F90
1463 integer(kind=inttype) dimension(nfamlist),intent(in) :: famlist
1464 integer(kind=inttype), optional,intent(in),check(len(famlist)>=nfamlist),depend(famlist) :: nfamlist=len(famlist)
1465 end subroutine writesol
1467 subroutine getforces(forces,npts,sps) ! in :test:getForces.F90
1468 real(kind=realtype) dimension(3,npts),intent(inout) :: forces
1469 integer(kind=inttype), optional,intent(in),check(shape(forces,1)==npts),depend(forces) :: npts=shape(forces,1)
1470 integer(kind=inttype) intent(in) :: sps
1471 end subroutine getforces
1473 subroutine getheatflux(hflux,npts,sps_in) ! in :test:getForces.F90
1474 real(kind=realtype) dimension(npts),intent(inout) :: hflux
1475 integer(kind=inttype), optional,intent(in),depend(hflux) :: npts=len(hflux)
1476 integer(kind=inttype) intent(in) :: sps_in
1477 end subroutine getheatflux
1479 subroutine settnswall(tnsw,npts,sps_in) ! in :test:getForces.F90
1480 real(kind=realtype) dimension(npts),intent(in) :: tnsw
1481 integer(kind=inttype) optional,intent(in),check(len(tnsw)>=npts),depend(tnsw) :: npts=len(tnsw)
1482 integer(kind=inttype) intent(in) :: sps_in
1483 end subroutine settnswall
1485 subroutine gettnswall(tnsw,npts,sps) ! in :test:getForces.F90
1486 real(kind=realtype) dimension(npts),intent(out),depend(npts) :: tnsw
1487 integer(kind=inttype) intent(in) :: npts
1488 integer(kind=inttype) intent(in) :: sps
1489 end subroutine gettnswall
1491 subroutine setcptargets(cptarget,npts,sps_in) ! in :test:setCpTarget.f90
1492 real(kind=realtype) dimension(npts),intent(in) :: cptarget
1493 integer(kind=inttype) optional,intent(in),check(len(cptarget)>=npts),depend(cptarget) :: npts=len(cptarget)
1494 integer(kind=inttype) intent(in) :: sps_in
1495 end subroutine setcptargets
1497 subroutine getcptargets(cptarget,npts,sps) ! in :test:getForces.F90
1498 real(kind=realtype) dimension(npts),intent(out),depend(npts) :: cptarget
1499 integer(kind=inttype) intent(in) :: npts
1500 integer(kind=inttype) intent(in) :: sps
1501 end subroutine getcptargets
1503 subroutine getareas(areas,pts,npts,sps_in,axis) ! in :test:getAreas.f90
1504 real(kind=realtype) dimension(3,npts),intent(out),depend(npts) :: areas
1505 real(kind=realtype) dimension(3,npts),intent(in) :: pts
1506 integer(kind=inttype) optional,intent(in),check(shape(pts,1)==npts),depend(pts) :: npts=shape(pts,1)
1507 integer(kind=inttype) intent(in) :: sps_in
1508 real(kind=realtype) dimension(3),intent(in) :: axis
1509 end subroutine getareas
1511 subroutine getareasensitivity(darea,pts,npts,sps_in,axis) ! in :test:getAreas.f90
1512 real(kind=realtype) dimension(3,npts),intent(out),depend(npts) :: darea
1513 real(kind=realtype) dimension(3,npts),intent(in) :: pts
1514 integer(kind=inttype) optional,intent(in),check(shape(pts,1)==npts),depend(pts) :: npts=shape(pts,1)
1515 integer(kind=inttype) intent(in) :: sps_in
1516 real(kind=realtype) dimension(3),intent(in) :: axis
1517 end subroutine getareasensitivity
1523 end python module libadflow_cs
1525 end python module libadflow