ADflow  v1.0
ADflow is a finite volume RANS solver tailored for gradient-based aerodynamic design optimization.
inputParam.F90
Go to the documentation of this file.
2  !
3  ! Input parameters which are related to the discretization of
4  ! the governing equations, i.e. scheme parameters, time accuracy
5  ! (in case of an unsteady computation) and preconditioning info.
6  !
7  use constants, only: inttype, realtype
8  implicit none
9  save
10  !
11  ! Definition of the discretization input parameters.
12  !
13  ! spaceDiscr: Fine grid discretization.
14  ! spaceDiscrCoarse: Coarse grid discretization.
15  ! orderTurb: Order of the discretization of the advective
16  ! terms of the turbulent transport equations.
17  ! Possibilities are 1st and 2nd order.
18  ! riemann: Fine grid riemann solver, upwind schemes only.
19  ! riemannCoarse: Idem, but on the coarse grids.
20  ! limiter: Limiter, upwind schemes only.
21  ! precond: Preconditioner.
22  ! eulerWallBCTreatment: Wall boundary condition treatment for inviscid
23  ! simulations.
24  ! viscWallBCTreatment: Wall boundary condition treatment for viscous
25  ! simulations.
26  ! outflowTreatment: Treatment of the outflow boundaries. Either
27  ! constantExtrapol or linExtrapol.
28  ! nonMatchTreatment: Treatment of the non-matching block
29  ! boundaries. Either NonConservative or
30  ! Conservative.
31  ! vis2: Coefficient of the second order dissipation.
32  ! vis4: Coefficient of the fourth order dissipation.
33  ! vis2Coarse: Coefficient of the second order dissipation
34  ! on the coarser grids in the mg cycle. On the
35  ! coarser grids a first order scheme is used.
36  ! adis: Exponent for directional scaling of the
37  ! dissipation. adis == 0: no directional scaling,
38  ! adis == 1: isotropic dissipation.
39  ! kappaCoef: Coefficient in the upwind reconstruction
40  ! schemes, both linear and nonlinear.
41  ! vortexCorr: Whether or not a vortex correction must be
42  ! applied. Steady flow only.
43  ! dirScaling: Whether or not directional scaling must be
44  ! applied.
45  ! hScalingInlet: Whether or not the outgoing Riemann invariant
46  ! must be scaled for a subsonic inlet. May be
47  ! needed for stability when strong total
48  ! temperature gradients are present.
49  ! radiiNeededFine: Whether or not the spectral radii are needed
50  ! to compute the fluxes of the fine grid.
51  ! radiiNeededCoarse: Idem for the coarse grid.
52  ! lumpedDiss : logical factor for determining whether or not
53  ! lumped dissipation is used for preconditioner
54  ! approxSA: Determines if the approximate source terms form
55  ! the SA model is used.
56  ! sigma : Scaling parameter for dissipation lumping in
57  ! approximateprecondtioner
58  ! useApproxWallDistance : logical to determine if the user wants to
59  ! use the fast approximate wall distance
60  ! computations. Typically only used for
61  ! repeated calls when the wall distance would
62  ! not have changed significantly
63  ! updateWallAssociations: Logical to determine if the full wall distance
64  ! assocation is to be performed on the next
65  ! wall distance calculation. This is only
66  ! significant when useApproxWallDistance is
67  ! set to True. This allows the user to
68  ! reassociate the face a cell is associated
69  ! with.
70  ! lowspeedpreconditoner: Whether or not to use low-speed precondioner
71 
72  integer(kind=intType) :: spacediscr, spacediscrcoarse
73  integer(kind=intType) :: orderturb, limiter
74  integer(kind=intType) :: riemann, riemanncoarse, precond
76  integer(kind=intType) :: nonmatchtreatment
77 
78  real(kind=realtype) :: vis2, vis4, vis2coarse, adis
79  real(kind=realtype) :: acousticscalefactor
80  real(kind=realtype) :: kappacoef
81  logical :: lumpeddiss
82  logical :: approxsa
83  real(kind=realtype) :: sigma
84  logical :: useblockettes
85 
86 #ifndef USE_TAPENADE
87  real(kind=realtype) :: vis2b, vis4b, vis2coarseb, adisb
88  real(kind=realtype) :: kappacoefb
89  real(kind=realtype) :: sigmab
90 #endif
93 
97 end module inputdiscretization
98 
99 ! ==================================================================
100 
101 module inputio
102  !
103  ! Input parameters which are related to io issues, like file
104  ! names and corresponding info.
105  !
106  use constants
107  implicit none
108  save
109  !
110  ! Definition of the IO input parameters.
111  !
112  ! paramFile: Parameter file, command line argument.
113  ! firstWrite: Whether or not this is the first time a
114  ! solution is written. Needed when different
115  ! file formats are used for reading and
116  ! writing.
117  ! gridFile: Grid file.
118  ! newGridFile: File to which the changed grid is
119  ! written. Needed for moving and/or
120  ! deforming geometries.
121  ! restartFiles: Restart solution files; for cgns this
122  ! could be the same as the grid file, but
123  ! not necesarrily.
124  ! solFile: Solution file; for cgns this could be the
125  ! same as the grid or restart file, but not
126  ! necesarrily.
127  ! surfaceSolFile: Surface solution file.
128  ! sliceSolFile: File name of a slice of a surface solution. TEMPORARY
129  ! liftDistributionFile:File name of a lift file. TEMPORARY
130  ! cpFile: File which contains the curve fits for cp.
131  ! precisionGrid: Precision of the grid file to be written.
132  ! Possibilities are precisionSingle and
133  ! precisionDouble.
134  ! precisionSol: Idem for the solution file(s).
135 
136  ! precisionSurfGrid: Precision of the grid in the surface file
137  ! precisionSurfSol: Precision of the solution in the surface file
138  ! storeRindLayer: Whether or not to store 1 layer of rind
139  ! (halo) cells in the solution file.
140  ! checkRestartSol: Whether or not the solution in the restart
141  ! file must be checked for correct
142  ! nondimensionalization.
143  ! autoParameterUpdate: Whether or not the parameter file must be
144  ! updated automatically. After a restart file
145  ! is written, such that a restart can be made
146  ! without editing the parameter file.
147  ! writeCoorMeter: Whether or not the coordinates in the
148  ! solution files must be written in meters.
149  ! If not, the original units are used.
150  ! storeConvInnerIter: Whether or not to store the convergence of
151  ! the inner iterations for unsteady mode.
152  ! On systems with a limited amount of memory
153  ! the storage of this info could be a
154  ! bottleneck for memory.
155 
156  integer(kind=intType) :: precisiongrid, precisionsol
157  integer(kind=intType) :: precisionsurfgrid, precisionsurfsol
158  character(len=maxStringLen) :: paramfile, gridfile
159  character(len=maxStringLen) :: newgridfile
160  character(len=maxStringLen) :: solfile
161  character(len=maxstringlen), dimension(:), allocatable :: restartfiles
162  character(len=maxStringLen) :: surfacesolfile, cpfile, slicesolfile, liftdistributionfile
163 
167  logical :: firstwrite = .true.
168  logical :: viscoussurfacevelocities = .true.
169 
170  ! Extra file names (set from python) that specify the name of
171  ! the volume, surface, lift and slice files written from an
172  ! interrupt.
173  character(len=maxStringLen) :: forcedsurfacefile, forcedvolumefile
174  character(len=maxStringLen) :: forcedliftfile, forcedslicefile
175  character(len=maxStringLen) :: convsolfilebasename
176  ! logical to control the us of the transition model
178 
179 end module inputio
180 
181 ! ==================================================================
182 
184  !
185  ! Input parameters which are related to the iteration process,
186  ! i.e. multigrid parameters, cfl numbers, smoothers and
187  ! convergence.
188  !
189  use constants
190  implicit none
191  save
192  !
193  ! Definition of the iteration input parameters.
194  !
195  ! nCycles: Maximum number of multigrid cycles.
196  ! nCyclesCoarse: Idem, but on the coarse grids in full multigrid.
197  ! nSaveVolume: Number of fine grid cycles after which a volume
198  ! solution file is written.
199  ! nSaveSurface: Number of fine grid cycles after which a
200  ! surface solution file is written.
201  ! nsgStartup: Number of single grid iterations, before
202  ! switching to multigrid. Could be useful for
203  ! supersonic problems with strong shocks.
204  ! nSubIterTurb: Number of turbulent subiterations when using
205  ! a decoupled approach for the turbulence.
206  ! nUpdateBleeds: Number of iterations after which the bleed
207  ! boundary conditions must be updated.
208  ! smoother: Smoother to be used.
209  ! nRKStages: Number of stages in the runge kutta scheme.
210  ! nSubiterations: Maximum number of subiterations used in
211  ! DADI.
212  ! turbTreatment: Treatment of the turbulent transport equations;
213  ! either decoupled or coupled.
214  ! turbSmoother: Smoother to use in case a decoupled solver
215  ! is to be used.
216  ! turbRelax: What kind of turbulent relaxation to use.
217  ! Either turbRelaxExplicit or
218  ! turbRelaxImplicit.
219  ! resAveraging: What kind of residual averaging to use.
220  ! freezeTurbSource: Whether or not the turbulent source terms must
221  ! be frozen on the coarser grid levels; only if
222  ! a coupled solver is to be used.
223  ! mgBoundCorr: Treatment of the boundary halo's for the
224  ! multigrid corrections. Either dirichlet0,
225  ! set the corrections to zero, or neumann.
226  ! mgStartlevel: Grid level on which the multigrid must be
227  ! started in the full mg cycle. In case a restart
228  ! is specified this info is overruled and the
229  ! start level is the finest grid.
230  ! nMGSteps: Number of steps in the array cycleStrategy.
231  ! nMGLevels: Number of levels in the multigrid. This info
232  ! is derived from the cycle strategy.
233  ! cycleStrategy: Array which describes the mg cycle.
234  ! cfl: Cfl number on the fine grid.
235  ! cflCoarse: Idem, but on the coarse grids.
236  ! cfllimit Limit used to determine how much residuals are smoothed
237  ! alfaTurb: Relaxation factor in turbulent dd-adi smoother.
238  ! betaTurb: Relaxation factor in vf dd-adi smoother.
239  ! relaxBleeds: Relaxation coefficient for the update
240  ! of the bleed boundary condition.
241  ! smoop: Coefficient in the implicit smoothing.
242  ! fcoll: Relaxation factor for the restricted residuals.
243  ! L2Conv: Relative L2 norm of the density residuals for
244  ! which the computation is assumed converged.
245  ! L2ConvCoarse: Idem, but on the coarse grids during full mg.
246  ! etaRk: Coefficients in the runge kutta scheme. The
247  ! values depend on the number of stages specified.
248  ! cdisRk: Dissipative coefficients in the runge kutta
249  ! scheme. The values depend on the number of
250  ! stages specified.
251  ! printIterations: If True, iterations are printed to stdout
252  ! turbresscale: Scaling factor for turbulent residual. Necessary for
253  ! NKsolver with RANS. Only tested on SA.
254  ! meshMaxSkewness If one cell has a highe skewness than this, the Solver
255  ! errors out.
256  ! iterType : String used for specifying which type of iteration was taken
257  !
258  ! Definition of the string, which stores the multigrid cycling
259  ! strategy.
260  !
261 
262  integer(kind=intType) :: ncycles, ncyclescoarse
263  integer(kind=intType) :: nsavevolume, nsavesurface
264  integer(kind=intType) :: nsgstartup, smoother, nrkstages
265  integer(kind=intType) :: nsubiterations
266  integer(kind=intType) :: nsubiterturb, nupdatebleeds
267  integer(kind=intType) :: resaveraging
268  real(kind=realtype) :: cfllimit
269  integer(kind=intType) :: turbtreatment, turbsmoother, turbrelax
270  integer(kind=intType) :: mgboundcorr, mgstartlevel
271  integer(kind=intType) :: nmgsteps, nmglevels
272  real(kind=realtype) :: timelimit
273  integer(kind=intType), allocatable, dimension(:) :: cyclestrategy
274  integer(kind=intType) :: miniternum
275  real(kind=realtype) :: cfl, cflcoarse, fcoll, smoop
276  real(kind=realtype) :: alfaturb, betaturb
277  real(kind=realtype) :: l2conv, l2convcoarse
278  real(kind=realtype) :: l2convrel
279  real(kind=realtype) :: maxl2deviationfactor
280  real(kind=realtype) :: relaxbleeds
281  real(kind=realtype) :: epscoefconv
282  integer(kind=inttype) :: convcheckwindowsize
283  real(kind=realtype), allocatable, dimension(:) :: etark, cdisrk
284  character(len=maxStringLen) :: mgdescription
285  logical :: rkreset
286  logical :: uselinresmonitor
287  logical :: freezeturbsource
288  logical :: printiterations
289  logical :: printwarnings
292  logical :: printbcwarnings
293  real(kind=realtype), dimension(4) :: turbresscale
294  real(kind=realtype) :: meshmaxskewness
295  logical :: useskewnesscheck
298 
299 end module inputiteration
300 
302  use constants
304  real(kind=realtype) :: sepsensoroffset
305  real(kind=realtype) :: sepsensorksoffset
306  real(kind=realtype) :: sepsensorksphi
307  real(kind=realtype) :: sepsensorsharpness
308  real(kind=realtype) :: sepsensorkssharpness
309  real(kind=realtype) :: cavsensoroffset
310  real(kind=realtype) :: cavsensorsharpness
311  integer(kind=inttype) :: cavexponent
312  logical :: computecavitation
313 
314 end module inputcostfunctions
315 
316 ! ==================================================================
317 
319  !
320  ! Input parameters which are related to the rigid body motion of
321  ! the entire mesh, i.e. translation and rotation.
322  ! These parameters can only be specified for an external flow
323  ! computation.
324  !
325  use precision
326  implicit none
327  save
328  ! rotPoint(3): Rotation point of the rigid body rotation.
329 
330  real(kind=realtype), dimension(3) :: rotpoint
331  real(kind=realtype), dimension(3) :: rotpointd
332 
333  ! degreePolXRot: Degree of the x-rotation polynomial.
334  ! degreePolYRot: Degree of the y-rotation polynomial.
335  ! degreePolZRot: Degree of the z-rotation polynomial.
336 
337  integer(kind=intType) :: degreepolxrot
338  integer(kind=intType) :: degreepolyrot
339  integer(kind=intType) :: degreepolzrot
340 
341  ! coefPolXRot(0:): coefficients of the x-rotation polynomial.
342  ! coefPolYRot(0:): coefficients of the y-rotation polynomial.
343  ! coefPolZRot(0:): coefficients of the z-rotation polynomial.
344 
345  real(kind=realtype), dimension(:), allocatable :: coefpolxrot
346  real(kind=realtype), dimension(:), allocatable :: coefpolyrot
347  real(kind=realtype), dimension(:), allocatable :: coefpolzrot
348 
349  ! degreeFourXRot: Degree of the x-rotation fourier series.
350  ! degreeFourYRot: Degree of the y-rotation fourier series.
351  ! degreeFourZRot: Degree of the z-rotation fourier series.
352 
353  integer(kind=intType) :: degreefourxrot
354  integer(kind=intType) :: degreefouryrot
355  integer(kind=intType) :: degreefourzrot
356 
357  ! omegaFourXRot: Fourier frequency of the x-rotation; the
358  ! period of the motion is 2*pi/omega.
359  ! omegaFourYRot: Fourier frequency of the y-rotation.
360  ! omegaFourZRot: Fourier frequency of the z-rotation.
361 
365 
366  ! cosCoefFourXRot(0:): cosine coefficients of the
367  ! x-rotation fourier series.
368  ! cosCoefFourYRot(0:): cosine coefficients of the
369  ! y-rotation fourier series.
370  ! cosCoefFourZRot(0:): cosine coefficients of the
371  ! z-rotation fourier series.
372 
373  real(kind=realtype), dimension(:), allocatable :: coscoeffourxrot
374  real(kind=realtype), dimension(:), allocatable :: coscoeffouryrot
375  real(kind=realtype), dimension(:), allocatable :: coscoeffourzrot
376 
377  ! sinCoefFourXRot(1:): sine coefficients of the
378  ! x-rotation fourier series.
379  ! sinCoefFourYRot(1:): sine coefficients of the
380  ! y-rotation fourier series.
381  ! sinCoefFourZRot(1:): sine coefficients of the
382  ! z-rotation fourier series.
383 
384  real(kind=realtype), dimension(:), allocatable :: sincoeffourxrot
385  real(kind=realtype), dimension(:), allocatable :: sincoeffouryrot
386  real(kind=realtype), dimension(:), allocatable :: sincoeffourzrot
387 
388  ! degreePolAlpha: Degree of the Alpha polynomial.
389 
390  integer(kind=intType) :: degreepolalpha
391 
392  ! coefPolAlpha(0:): coefficients of the Alpha polynomial.
393 
394  real(kind=realtype), dimension(:), allocatable :: coefpolalpha
395  real(kind=realtype), dimension(:), allocatable :: coefpolalphab
396 
397  ! degreeFourAlpha: Degree of the Alpha fourier series.
398 
399  integer(kind=intType) :: degreefouralpha
400 
401  ! omegaFourAlpha: Fourier frequency of the Alpha; the
402  ! period of the motion is 2*pi/omega.
403 
405 
406  ! cosCoefFourAlpha(0:): cosine coefficients of the
407  ! x-rotation fourier series.
408 
409  real(kind=realtype), dimension(:), allocatable :: coscoeffouralpha
410  real(kind=realtype), dimension(:), allocatable :: coscoeffouralphab
411 
412  ! sinCoefFourAlpha(1:): sine coefficients of the
413  ! Alpha fourier series.
414 
415  real(kind=realtype), dimension(:), allocatable :: sincoeffouralpha
416  real(kind=realtype), dimension(:), allocatable :: sincoeffouralphab
417 
418  ! degreePolXRot: Degree of the Beta polynomial.
419 
420  integer(kind=intType) :: degreepolbeta
421 
422  ! coefPolXRot(0:): coefficients of the Beta polynomial.
423 
424  real(kind=realtype), dimension(:), allocatable :: coefpolbeta
425  real(kind=realtype), dimension(:), allocatable :: coefpolbetab
426 
427  ! degreeFourBeta: Degree of the Beta fourier series.
428 
429  integer(kind=intType) :: degreefourbeta
430 
431  ! omegaFourBeta: Fourier frequency of the Beta; the
432  ! period of the motion is 2*pi/omega.
433 
435 
436  ! cosCoefFourBeta(0:): cosine coefficients of the
437  ! Beta fourier series.
438 
439  real(kind=realtype), dimension(:), allocatable :: coscoeffourbeta
440  real(kind=realtype), dimension(:), allocatable :: coscoeffourbetab
441 
442  ! sinCoefFourBeta(1:): sine coefficients of the
443  ! Beta fourier series.
444 
445  real(kind=realtype), dimension(:), allocatable :: sincoeffourbeta
446  real(kind=realtype), dimension(:), allocatable :: sincoeffourbetab
447 
448  ! degreePolMach: Degree of the Mach polynomial.
449 
450  integer(kind=intType) :: degreepolmach
451 
452  ! coefPolMach(0:): coefficients of the Mach polynomial.
453 
454  real(kind=realtype), dimension(:), allocatable :: coefpolmach
455  real(kind=realtype), dimension(:), allocatable :: coefpolmachb
456 
457  ! degreeFourMach: Degree of the Mach fourier series.
458 
459  integer(kind=intType) :: degreefourmach
460 
461  ! omegaFourMach: Fourier frequency of the Mach Number; the
462  ! period of the motion is 2*pi/omega.
463 
465 
466  ! cosCoefFourMach(0:): cosine coefficients of the
467  ! Mach Number fourier series.
468 
469  real(kind=realtype), dimension(:), allocatable :: coscoeffourmach
470  real(kind=realtype), dimension(:), allocatable :: coscoeffourmachb
471 
472  ! sinCoefFourMach(1:): sine coefficients of the
473  ! Mach Number fourier series.
474 
475  real(kind=realtype), dimension(:), allocatable :: sincoeffourmach
476  real(kind=realtype), dimension(:), allocatable :: sincoeffourmachb
477 
478  ! gridMotionSpecified: Whether or not a rigid body motion of
479  ! the grid has been specified.
480 
482 
483 end module inputmotion
484 
485 ! ==================================================================
486 
488  !
489  ! Input parameters which are related to the parallelization.
490  !
491  use precision
492  implicit none
493  save
494 
495  ! loadImbalance: Allowable load imbalance
496  ! splitBlocks: Whether or not blocks can be split to improve
497  ! the load balance.
498  ! loadBalanceIter: The number of refinment iterations to run to try
499  ! to get better load balancing.
501  logical :: splitblocks
502  integer(kind=inttype) :: loadbalanceiter, partitionlikenproc
503 end module inputparallel
504 
505 ! ==================================================================
506 
508  !
509  ! Input parameters which are related to the physics of the flow,
510  ! like governing equations, mode of the equations, turbulence
511  ! model and free stream conditions.
512  !
513  use precision
514  implicit none
515  save
516 
517  ! Definition of the physics input parameters.
518  !
519  ! equations: Governing equations to be solved.
520  ! equationMode: Mode of the equations, steady, unsteady
521  ! or timeSpectral.
522  ! flowType: Type of flow, internal or external.
523  ! cpModel: Which cp model, constant or function of
524  ! temperature via curve fits.
525  ! turbModel: Turbulence model.
526  ! turbProd: Which production term to use in the transport
527  ! turbulence equations, strain, vorticity or
528  ! kato-launder.
529  ! rvfN: Determines the version of v2f turbulence model.
530  ! rvfB: Whether or not to solve v2f with an
531  ! upper bound.
532  ! useQCR: Determines if the QCR term is applied to the shear tensor computation
533  ! when considering turbulence model effects
534  ! useRotationSA: Determines if we will use rotation correction (SA model only)
535  ! useft2SA: Determines if we will use the ft2 term (SA model only)
536  ! wallFunctions: Whether or not to use wall functions.
537  ! wallDistanceNeeded: Whether or not the wall distance is needed
538  ! for the turbulence model in a RANS problem.
539  ! Mach: Free stream Mach number.
540  ! MachCoef: Mach number used to compute coefficients;
541  ! only relevant for translating geometries.
542  ! MachGrid: Mach number of the Mesh. Used in stability
543  ! derivative calculations. Specified as the
544  ! negative of the desired freestream Mach number.
545  ! When this option is set, set Mach = 0.0...
546  ! velDirFreestream(3): Direction of the free-stream velocity.
547  ! Internally this vector is scaled to a unit
548  ! vector, so there is no need to specify a
549  ! unit vector. Specifying this vector solves
550  ! the problem of angle of attack and yaw angle
551  ! definition as well as the direction of the
552  ! axis (e.g. y- or z-axis in spanwise direction).
553  ! liftDirection(3): Direction vector for the lift.
554  ! dragDirection(3): Direction vector for the drag.
555  ! gammaConstant: Constant specific heat ratio.
556  ! RGasDim: Gas constant in S.I. units.
557  ! Prandtl: Prandtl number.
558  ! PrandtlTurb: Turbulent prandtl number.
559  ! pklim: Limiter for the production of k, the production
560  ! is limited to pklim times the destruction.
561  ! wallOffset: Offset from the wall when wall functions
562  ! are used.
563  ! eddyVisInfRatio: Free stream value of the eddy viscosity.
564  ! turbIntensityInf: Free stream value of the turbulent intensity.
565  ! surfaceRef: Reference area for the force and moments
566  ! computation.
567  ! lengthRef: Reference length for the moments computation.
568  ! pointRef(3): Moment reference point.
569  ! pointRefEC(3): Elastic center. Bending moment refernce point
570  ! SSuthDim: Sutherlands law temperature (SI Units)
571  ! muSuthDim: Reference viscosity at reference temperature for Sutherlands law (SI Units)
572  ! TSuthDim: Reference temperature for Sutherlands law (SI Units)
573  ! momentAxis(3,2) Axis about which to calculate a moment, provided as 2 points in 3-D
574  ! cavitationnumber Negative Cp value that triggers the traditional
575  ! step-function based cavitation sensor.
576  ! cpmin_rho The rho parameter used with the KS-based cavitation sensor.
577  ! cpmin_family The cpmin for a given surface family that does not use
578  ! KS-aggregation, but rather an exact min computation.
579  ! sepSenMaxRho The rho parameter used with the KS-based separation sensor.
580  ! sepSenMaxFamily The maximum sepsensor value for a given surface family that does not use
581  ! KS-aggregation, but rather an exact max computation.
582 
583  integer(kind=intType) :: equations, equationmode, flowtype
584  integer(kind=intType) :: turbmodel, cpmodel, turbprod
585  integer(kind=intType) :: rvfn
586  logical :: rvfb
588 
590 
591  real(kind=realtype) :: alpha, beta
592  integer(kind=intType) :: liftindex
593  real(kind=realtype) :: mach, machcoef, machgrid
599  real(kind=realtype), dimension(3) :: veldirfreestream
600  real(kind=realtype), dimension(3) :: liftdirection
601  real(kind=realtype), dimension(3) :: dragdirection
602  real(kind=realtype), dimension(3) :: pointref
603  real(kind=realtype), dimension(3, 2) :: momentaxis
606  real(kind=realtype) :: cpmin_rho
607  real(kind=realtype), dimension(:), allocatable :: cpmin_family
608  real(kind=realtype) :: sepsenmaxrho
609  real(kind=realtype), dimension(:), allocatable :: sepsenmaxfamily
610 
611 #ifndef USE_TAPENADE
612  real(kind=realtype) :: alphad, betad
613  real(kind=realtype), dimension(3) :: veldirfreestreamd, veldirfreestreamb
614  real(kind=realtype), dimension(3) :: liftdirectiond, liftdirectionb
615  real(kind=realtype), dimension(3) :: dragdirectiond, dragdirectionb
616  real(kind=realtype), dimension(3) :: pointrefd, pointrefb
617  real(kind=realtype), dimension(3, 2) :: momentaxisd, momentaxisb
620  real(kind=realtype) :: gammaconstantd
622  real(kind=realtype) :: rgasdimd
624 #endif
625 
626  real(kind=realtype), dimension(3) :: pointrefec
627 
628  ! Return forces as tractions instead of forces:
629  logical :: forcesastractions
630 
631 end module inputphysics
632 
633 ! ==================================================================
634 
636  !
637  ! Input parameters for time spectral problems.
638  !
639  use precision
640  implicit none
641  save
642 
643  ! nTimeIntervalsSpectral: Number of time instances used.
644 
645  integer(kind=intType) :: ntimeintervalsspectral
646 
647  ! dscalar(:,:,:): Matrix for the time derivatices of scalar
648  ! quantities; different for every section to
649  ! allow for different periodic angles.
650  ! The second and third dimension equal the
651  ! number of time intervals.
652  ! dvector(:,:,:): Matrices for the time derivatives of vector
653  ! quantities; different for every section to
654  ! allow for different periodic angles and for
655  ! sector periodicity.
656  ! The second and third dimension equal 3 times
657  ! the number of time intervals.
658 
659  real(kind=realtype), dimension(:, :, :), allocatable :: dscalar
660  real(kind=realtype), dimension(:, :, :), allocatable :: dvector
661 
662  ! writeUnsteadyRestartSpectral: Whether or not a restart file
663  ! must be written, which is
664  ! capable to do a restart in
665  ! unsteady mode.
666  ! dtUnsteadyRestartSpectral: The corresponding time step.
667 
670 
671  ! writeUnsteadyVolSpectral: Whether or not the corresponding
672  ! unsteady volume solution files
673  ! must be written after the
674  ! computation.
675  ! writeUnsteadySurfSpectral: Idem for the surface solution
676  ! files.
677  ! nUnsteadySolSpectral: The corresponding number of
678  ! unsteady solutions to be created.
679 
680  integer(kind=intType) :: nunsteadysolspectral
683 
684  ! rotMatrixSpectral(:,3,3): The corresponding rotation matrices
685  ! for the velocity. No rotation
686  ! point is needed, because only the
687  ! velocities need to be transformed.
688  ! The matrix stored is the one used
689  ! when the upper bound of the mode
690  ! number is exceeded; for the lower
691  ! bound the inverse (== transpose)
692  ! must be used. The 1st dimension
693  ! is the number of sections.
694 
695  real(kind=realtype), dimension(:, :, :), allocatable :: &
698 
699  real(kind=realtype) :: omegafourier
700 
701 end module inputtimespectral
702 
703 ! ==================================================================
704 
706  !
707  ! Input parameters for unsteady problems.
708  !
709  use constants
710  implicit none
711  save
712 
713  ! timeIntegrationScheme: Time integration scheme to be used for
714  ! unsteady problems. Possibilities are
715  ! Backward difference schemes, explicit
716  ! RungeKutta schemes and implicit
717  ! RungeKutta schemes.
718 
719  integer(kind=intType) :: timeintegrationscheme
720 
721  ! timeAccuracy: Accuracy of the time integrator for unsteady
722  ! problems. Possibilities are 1st, 2nd and 3rd
723  ! order accurate schemes.
724  ! nTimeStepsCoarse: Number of time steps on the coarse mesh;
725  ! only relevant for periodic problems for
726  ! which a full mg can be used.
727  ! nTimeStepsFine: Number of time steps on the fine mesh.
728  ! deltaT: Physical time step in seconds.
729 
730  integer(kind=intType) :: timeaccuracy
731  integer(kind=intType) :: ntimestepscoarse, ntimestepsfine
732 
733  real(kind=realtype) :: deltat
734 
735  ! nRKStagesUnsteady: Number of stages used in the Runge-Kutta
736  ! schemes for a time accurate computation.
737  ! betaRKUnsteady(:,:): Matrix with the Runge-Kutta coefficients
738  ! for the residuals.
739  ! gammaRKUnsteady(:): Vector with the time portion of the
740  ! Runge-Kutta stages.
741 
742  integer(kind=intType) :: nrkstagesunsteady
743 
744  real(kind=realtype), dimension(:, :), allocatable :: betarkunsteady
745  real(kind=realtype), dimension(:), allocatable :: gammarkunsteady
746 
747  ! nOldGridRead: Number of old grid levels read from the grid
748  ! files. Needed only for a consistent restart
749  ! on the deforming meshes.
750 
751  integer(kind=intType) :: noldgridread
752 
753  ! useALE: Use the deforming mesh ale formuation.
754  logical :: useale
755 
756  ! updateWallDistanceUnsteady: Whether or not to update the wall
757  ! distance in unsteady mode. For a
758  ! RANS simulation on a changing grid
759  ! this should be done if the
760  ! turbulence model requires the wall
761  ! distance. However, the user may
762  ! overrule this if he thinks it is
763  ! not necessary.
764 
766 
767 end module inputunsteady
768 
770  !
771  ! Definition of some parameters ADjoint.
772  ! The actual values of this parameters are arbitrary;
773  ! in the code always the symbolic names are (should be) used.
774  !
775  use constants
776  implicit none
777  save
778  !
779  ! Definition of the adjoint input parameters.
780  !
781 
782  ! Monitor : Whether or not to enable the monitor for the KSP
783  ! contexts.
784  ! ApproxPC : Whether or not to use the approximate jacobian
785  ! preconditioner
786  ! ADPC : Whether or not to use AD for preconditioning
787  ! viscPC : Whether or not to keep cross derivative terms
788  ! in viscous preconditioner.
789  ! FrozenTurbulence: Whether to use frozen turbulence assumption
790  ! useDiagTSPC : Whether or not the off time instance terms are
791  ! included in the TS preconditioner.
794 
795  ! ADjointSolverType: Type of linear solver for the ADjoint
796  ! PreCondType : Type of Preconditioner to use
797  ! Matrix Ordering : Type of matrix ordering to use
798  ! LocalPCType : Type of preconditioner to use on subdomains
799  character(maxStringLen) :: adjointsolvertype
800  character(maxStringLen) :: gmresorthogtype
801  character(maxStringLen) :: precondtype
802  character(maxStringLen) :: matrixordering
803  character(maxStringLen) :: adjointpcside
804  character(maxStringLen) :: localpctype
805 
806  ! FillLevel : Number of levels of fill for the ILU local PC
807  ! Overlap : Amount of overlap in the ASM PC
808  integer(kind=intType) :: filllevel, overlap
809  integer(kind=intType) :: filllevelcoarse, overlapcoarse
810 
811  ! adjRelTol : Relative tolerance
812  ! adjAbsTol : Absolute tolerance
813  ! adjDivTol : Relative tolerance increase to divergence
814  ! adjMaxIter : Maximum number of iterations
815  ! adjRestart : Maximum number of steps before restart
816  ! It has a high impact on the required memory!
817  ! adjMonStep : Convergence monitor step
818 
819  real(kind=alwaysrealtype) :: adjreltol
820  real(kind=alwaysrealtype) :: adjabstol
821  real(kind=alwaysrealtype) :: adjreltolrel
822  real(kind=alwaysrealtype) :: adjdivtol
823  real(kind=realtype) :: adjmaxl2dev
824  integer(kind=intType) :: adjmaxiter
825  integer(kind=intType) :: adjrestart
826  integer(kind=intType) :: adjmonstep
827 
828  ! outerPCIts : Number of iterations to run for on (global) preconditioner
829  ! intterPCIts : Number of iterations to run on local preconditioner
830  integer(kind=intType) :: outerpreconits
831  integer(kind=intType) :: innerpreconits, innerpreconitscoarse
832  integer(kind=intType) :: adjamglevels, adjamgnsmooth
833 
834  logical :: printtiming
835  integer(kind=intType) :: subkspsubspacesize
836  integer(kind=intType) :: applyadjointpcsubspacesize
837 
838  ! firstRun : Whether this is the first run of the TGT debugger
839  ! verifyState : Whether to verify state
840  ! verifySpatial: Whether to verify spatial
841  ! verifyExtra : Whether to verify extra
842  logical :: firstrun
843  logical :: verifystate
844  logical :: verifyspatial
845  logical :: verifyextra
846 
847  ! Logicals for specifiying if we are using matrix-free forms of
848  ! drdw
849  logical :: usematrixfreedrdw
850 
851 end module inputadjoint
852 
854  !
855  ! Definition of some parameters for Time Spectral stability
856  ! derivatives.
857  ! The actual values of this parameters are arbitrary;
858  ! in the code always the symbolic names are (should be) used.
859  !
860 
861  ! TSStability : Whether or not the TS stability derivatives should
862  ! be computed
865  ! TSAlphaFollowing : Whether or not alpha follows the body in p,q,r mode
866  logical :: tsalphafollowing
867 
868  ! useWindAxis : whether to rotate around the wind axis or the body
869  ! axis...
870  logical :: usewindaxis
871 
872 end module inputtsstabderiv
873 
875  use constants
876  implicit none
877  save
878  !
879  ! Definition of parameters for the overset implementation
880  !
881  logical :: useoversetloadbalance = .true.
882  real(kind=realtype) :: overlapfactor = 0.9
883  real(kind=realtype) :: nearwalldist = 0.1
884  real(kind=realtype) :: oversetprojtol = 1e-12
885  real(kind=realtype) :: backgroundvolscale = 1.0
886  logical :: debugzipper = .false.
887  integer(kind=intType) :: oversetupdatemode
888  real(kind=realtype) :: selfzipcutoff
889  ! nRefine: number of connectivity loops to run
890  integer(kind=intType) :: nrefine
891  integer(kind=intType) :: nflooditer
892  logical :: usezippermesh
895  logical :: oversetdebugprint
896 end module inputoverset
integer(kind=inttype) applyadjointpcsubspacesize
Definition: inputParam.F90:836
character(maxstringlen) matrixordering
Definition: inputParam.F90:802
integer(kind=inttype) adjamgnsmooth
Definition: inputParam.F90:832
integer(kind=inttype) innerpreconitscoarse
Definition: inputParam.F90:831
logical firstrun
Definition: inputParam.F90:842
character(maxstringlen) adjointsolvertype
Definition: inputParam.F90:799
integer(kind=inttype) innerpreconits
Definition: inputParam.F90:831
logical approxpc
Definition: inputParam.F90:792
logical viscpc
Definition: inputParam.F90:793
integer(kind=inttype) filllevelcoarse
Definition: inputParam.F90:809
logical verifyextra
Definition: inputParam.F90:845
integer(kind=inttype) adjmonstep
Definition: inputParam.F90:826
logical verifyspatial
Definition: inputParam.F90:844
real(kind=alwaysrealtype) adjdivtol
Definition: inputParam.F90:822
integer(kind=inttype) overlap
Definition: inputParam.F90:808
real(kind=realtype) adjmaxl2dev
Definition: inputParam.F90:823
logical verifystate
Definition: inputParam.F90:843
character(maxstringlen) localpctype
Definition: inputParam.F90:804
logical frozenturbulence
Definition: inputParam.F90:793
integer(kind=inttype) overlapcoarse
Definition: inputParam.F90:809
integer(kind=inttype) adjrestart
Definition: inputParam.F90:825
logical setmonitor
Definition: inputParam.F90:792
integer(kind=inttype) adjmaxiter
Definition: inputParam.F90:824
real(kind=alwaysrealtype) adjreltol
Definition: inputParam.F90:819
logical usediagtspc
Definition: inputParam.F90:792
logical printtiming
Definition: inputParam.F90:834
integer(kind=inttype) filllevel
Definition: inputParam.F90:808
logical adpc
Definition: inputParam.F90:793
character(maxstringlen) gmresorthogtype
Definition: inputParam.F90:800
integer(kind=inttype) outerpreconits
Definition: inputParam.F90:830
character(maxstringlen) precondtype
Definition: inputParam.F90:801
character(maxstringlen) adjointpcside
Definition: inputParam.F90:803
integer(kind=inttype) adjamglevels
Definition: inputParam.F90:832
real(kind=alwaysrealtype) adjreltolrel
Definition: inputParam.F90:821
logical usematrixfreedrdw
Definition: inputParam.F90:849
real(kind=alwaysrealtype) adjabstol
Definition: inputParam.F90:820
integer(kind=inttype) subkspsubspacesize
Definition: inputParam.F90:835
real(kind=realtype) sepsensorsharpness
Definition: inputParam.F90:307
real(kind=realtype) cavsensoroffset
Definition: inputParam.F90:309
real(kind=realtype) cavsensorsharpness
Definition: inputParam.F90:310
logical computesepsensorks
Definition: inputParam.F90:303
real(kind=realtype) sepsensoroffset
Definition: inputParam.F90:304
real(kind=realtype) sepsensorkssharpness
Definition: inputParam.F90:308
real(kind=realtype) sepsensorksphi
Definition: inputParam.F90:306
real(kind=realtype) sepsensorksoffset
Definition: inputParam.F90:305
integer(kind=inttype) cavexponent
Definition: inputParam.F90:311
logical computecavitation
Definition: inputParam.F90:312
real(kind=realtype) vis2
Definition: inputParam.F90:78
logical radiineededcoarse
Definition: inputParam.F90:92
logical updatewallassociations
Definition: inputParam.F90:95
real(kind=realtype) sigmab
Definition: inputParam.F90:89
real(kind=realtype) vis2coarse
Definition: inputParam.F90:78
real(kind=realtype) sigma
Definition: inputParam.F90:83
integer(kind=inttype) eulerwallbctreatment
Definition: inputParam.F90:75
real(kind=realtype) vis2b
Definition: inputParam.F90:87
real(kind=realtype) vis4b
Definition: inputParam.F90:87
integer(kind=inttype) orderturb
Definition: inputParam.F90:73
real(kind=realtype) adis
Definition: inputParam.F90:78
real(kind=realtype) kappacoefb
Definition: inputParam.F90:88
real(kind=realtype) acousticscalefactor
Definition: inputParam.F90:79
integer(kind=inttype) riemanncoarse
Definition: inputParam.F90:74
logical useapproxwalldistance
Definition: inputParam.F90:94
logical lowspeedpreconditioner
Definition: inputParam.F90:96
real(kind=realtype) vis4
Definition: inputParam.F90:78
real(kind=realtype) kappacoef
Definition: inputParam.F90:80
integer(kind=inttype) nonmatchtreatment
Definition: inputParam.F90:76
integer(kind=inttype) viscwallbctreatment
Definition: inputParam.F90:75
integer(kind=inttype) outflowtreatment
Definition: inputParam.F90:75
real(kind=realtype) adisb
Definition: inputParam.F90:87
integer(kind=inttype) riemann
Definition: inputParam.F90:74
integer(kind=inttype) limiter
Definition: inputParam.F90:73
integer(kind=inttype) precond
Definition: inputParam.F90:74
real(kind=realtype) vis2coarseb
Definition: inputParam.F90:87
integer(kind=inttype) spacediscrcoarse
Definition: inputParam.F90:72
integer(kind=inttype) spacediscr
Definition: inputParam.F90:72
character(len=maxstringlen) forcedvolumefile
Definition: inputParam.F90:173
character(len=maxstringlen) forcedliftfile
Definition: inputParam.F90:174
logical storeconvinneriter
Definition: inputParam.F90:166
logical viscoussurfacevelocities
Definition: inputParam.F90:168
character(len=maxstringlen) solfile
Definition: inputParam.F90:160
character(len=maxstringlen) surfacesolfile
Definition: inputParam.F90:162
logical storerindlayer
Definition: inputParam.F90:164
character(len=maxstringlen), dimension(:), allocatable restartfiles
Definition: inputParam.F90:161
character(len=maxstringlen) cpfile
Definition: inputParam.F90:162
character(len=maxstringlen) forcedslicefile
Definition: inputParam.F90:174
character(len=maxstringlen) newgridfile
Definition: inputParam.F90:159
integer(kind=inttype) precisionsurfsol
Definition: inputParam.F90:157
logical laminartoturbulent
Definition: inputParam.F90:177
integer(kind=inttype) precisionsol
Definition: inputParam.F90:156
character(len=maxstringlen) gridfile
Definition: inputParam.F90:158
logical firstwrite
Definition: inputParam.F90:167
character(len=maxstringlen) forcedsurfacefile
Definition: inputParam.F90:173
logical autoparameterupdate
Definition: inputParam.F90:165
character(len=maxstringlen) convsolfilebasename
Definition: inputParam.F90:175
character(len=maxstringlen) paramfile
Definition: inputParam.F90:158
character(len=maxstringlen) slicesolfile
Definition: inputParam.F90:162
logical checkrestartsol
Definition: inputParam.F90:164
character(len=maxstringlen) liftdistributionfile
Definition: inputParam.F90:162
integer(kind=inttype) precisionsurfgrid
Definition: inputParam.F90:157
logical writecoormeter
Definition: inputParam.F90:165
integer(kind=inttype) precisiongrid
Definition: inputParam.F90:156
real(kind=realtype) betaturb
Definition: inputParam.F90:276
integer(kind=inttype) ncycles
Definition: inputParam.F90:262
integer(kind=inttype) smoother
Definition: inputParam.F90:264
real(kind=realtype) cflcoarse
Definition: inputParam.F90:275
real(kind=realtype) disscontmidpoint
Definition: inputParam.F90:297
logical useskewnesscheck
Definition: inputParam.F90:295
integer(kind=inttype) nmgsteps
Definition: inputParam.F90:271
logical usedisscontinuation
Definition: inputParam.F90:296
integer(kind=inttype) mgstartlevel
Definition: inputParam.F90:270
real(kind=realtype) maxl2deviationfactor
Definition: inputParam.F90:279
integer(kind=inttype) turbtreatment
Definition: inputParam.F90:269
integer(kind=inttype) nsavesurface
Definition: inputParam.F90:263
real(kind=realtype), dimension(:), allocatable cdisrk
Definition: inputParam.F90:283
character(len=maxstringlen) mgdescription
Definition: inputParam.F90:284
integer(kind=inttype) nsubiterturb
Definition: inputParam.F90:266
real(kind=realtype) epscoefconv
Definition: inputParam.F90:281
real(kind=realtype), dimension(4) turbresscale
Definition: inputParam.F90:293
real(kind=realtype) disscontmagnitude
Definition: inputParam.F90:297
real(kind=realtype) smoop
Definition: inputParam.F90:275
real(kind=realtype) l2conv
Definition: inputParam.F90:277
logical printbcwarnings
Definition: inputParam.F90:292
logical printbadlyskewedcells
Definition: inputParam.F90:291
integer(kind=inttype), dimension(:), allocatable cyclestrategy
Definition: inputParam.F90:273
logical uselinresmonitor
Definition: inputParam.F90:286
integer(kind=inttype) nupdatebleeds
Definition: inputParam.F90:266
integer(kind=inttype) convcheckwindowsize
Definition: inputParam.F90:282
integer(kind=inttype) resaveraging
Definition: inputParam.F90:267
real(kind=realtype) timelimit
Definition: inputParam.F90:272
integer(kind=inttype) miniternum
Definition: inputParam.F90:274
integer(kind=inttype) ncyclescoarse
Definition: inputParam.F90:262
integer(kind=inttype) nsubiterations
Definition: inputParam.F90:265
real(kind=realtype) cfllimit
Definition: inputParam.F90:268
integer(kind=inttype) nsavevolume
Definition: inputParam.F90:263
real(kind=realtype), dimension(:), allocatable etark
Definition: inputParam.F90:283
real(kind=realtype) disscontsharpness
Definition: inputParam.F90:297
real(kind=realtype) l2convcoarse
Definition: inputParam.F90:277
logical printwarnings
Definition: inputParam.F90:289
real(kind=realtype) relaxbleeds
Definition: inputParam.F90:280
integer(kind=inttype) mgboundcorr
Definition: inputParam.F90:270
real(kind=realtype) fcoll
Definition: inputParam.F90:275
logical printnegativevolumes
Definition: inputParam.F90:290
integer(kind=inttype) nrkstages
Definition: inputParam.F90:264
integer(kind=inttype) nmglevels
Definition: inputParam.F90:271
real(kind=realtype) alfaturb
Definition: inputParam.F90:276
logical printiterations
Definition: inputParam.F90:288
real(kind=realtype) cfl
Definition: inputParam.F90:275
real(kind=realtype) l2convrel
Definition: inputParam.F90:278
integer(kind=inttype) turbsmoother
Definition: inputParam.F90:269
integer(kind=inttype) nsgstartup
Definition: inputParam.F90:264
real(kind=realtype) meshmaxskewness
Definition: inputParam.F90:294
logical freezeturbsource
Definition: inputParam.F90:287
integer(kind=inttype) turbrelax
Definition: inputParam.F90:269
real(kind=realtype), dimension(:), allocatable sincoeffourmach
Definition: inputParam.F90:475
integer(kind=inttype) degreefouryrot
Definition: inputParam.F90:354
integer(kind=inttype) degreefourmach
Definition: inputParam.F90:459
real(kind=realtype) omegafouralpha
Definition: inputParam.F90:404
integer(kind=inttype) degreefourxrot
Definition: inputParam.F90:353
integer(kind=inttype) degreepolxrot
Definition: inputParam.F90:337
real(kind=realtype) omegafouryrot
Definition: inputParam.F90:363
integer(kind=inttype) degreepolyrot
Definition: inputParam.F90:338
real(kind=realtype), dimension(:), allocatable coefpolxrot
Definition: inputParam.F90:345
integer(kind=inttype) degreepolbeta
Definition: inputParam.F90:420
real(kind=realtype) omegafourzrot
Definition: inputParam.F90:364
real(kind=realtype) omegafourxrot
Definition: inputParam.F90:362
real(kind=realtype), dimension(:), allocatable sincoeffouryrot
Definition: inputParam.F90:385
real(kind=realtype), dimension(:), allocatable coscoeffourxrot
Definition: inputParam.F90:373
real(kind=realtype), dimension(:), allocatable sincoeffourzrot
Definition: inputParam.F90:386
real(kind=realtype), dimension(:), allocatable coefpolmachb
Definition: inputParam.F90:455
real(kind=realtype) omegafouralphab
Definition: inputParam.F90:404
real(kind=realtype) omegafourbeta
Definition: inputParam.F90:434
real(kind=realtype) omegafouryrotb
Definition: inputParam.F90:363
integer(kind=inttype) degreepolmach
Definition: inputParam.F90:450
real(kind=realtype), dimension(:), allocatable sincoeffourbetab
Definition: inputParam.F90:446
real(kind=realtype) omegafourmach
Definition: inputParam.F90:464
real(kind=realtype), dimension(:), allocatable sincoeffouralpha
Definition: inputParam.F90:415
real(kind=realtype), dimension(:), allocatable sincoeffourbeta
Definition: inputParam.F90:445
integer(kind=inttype) degreepolzrot
Definition: inputParam.F90:339
real(kind=realtype), dimension(:), allocatable coefpolalphab
Definition: inputParam.F90:395
real(kind=realtype), dimension(:), allocatable coscoeffouralphab
Definition: inputParam.F90:410
real(kind=realtype) omegafourxrotb
Definition: inputParam.F90:362
real(kind=realtype), dimension(:), allocatable coefpolbetab
Definition: inputParam.F90:425
real(kind=realtype), dimension(:), allocatable coefpolmach
Definition: inputParam.F90:454
real(kind=realtype), dimension(:), allocatable coefpolalpha
Definition: inputParam.F90:394
real(kind=realtype), dimension(:), allocatable coscoeffourmachb
Definition: inputParam.F90:470
logical gridmotionspecified
Definition: inputParam.F90:481
integer(kind=inttype) degreefourbeta
Definition: inputParam.F90:429
real(kind=realtype), dimension(:), allocatable coscoeffouryrot
Definition: inputParam.F90:374
real(kind=realtype), dimension(3) rotpointd
Definition: inputParam.F90:331
real(kind=realtype), dimension(:), allocatable coscoeffouralpha
Definition: inputParam.F90:409
real(kind=realtype) omegafourzrotb
Definition: inputParam.F90:364
integer(kind=inttype) degreefourzrot
Definition: inputParam.F90:355
real(kind=realtype) omegafourmachb
Definition: inputParam.F90:464
real(kind=realtype), dimension(:), allocatable coscoeffourmach
Definition: inputParam.F90:469
real(kind=realtype) omegafourbetab
Definition: inputParam.F90:434
real(kind=realtype), dimension(:), allocatable coefpolzrot
Definition: inputParam.F90:347
real(kind=realtype), dimension(:), allocatable coefpolyrot
Definition: inputParam.F90:346
real(kind=realtype), dimension(3) rotpoint
Definition: inputParam.F90:330
real(kind=realtype), dimension(:), allocatable sincoeffourmachb
Definition: inputParam.F90:476
real(kind=realtype), dimension(:), allocatable sincoeffouralphab
Definition: inputParam.F90:416
integer(kind=inttype) degreepolalpha
Definition: inputParam.F90:390
integer(kind=inttype) degreefouralpha
Definition: inputParam.F90:399
real(kind=realtype), dimension(:), allocatable coscoeffourbetab
Definition: inputParam.F90:440
real(kind=realtype), dimension(:), allocatable coscoeffourbeta
Definition: inputParam.F90:439
real(kind=realtype), dimension(:), allocatable coscoeffourzrot
Definition: inputParam.F90:375
real(kind=realtype), dimension(:), allocatable sincoeffourxrot
Definition: inputParam.F90:384
real(kind=realtype), dimension(:), allocatable coefpolbeta
Definition: inputParam.F90:424
integer(kind=inttype) nflooditer
Definition: inputParam.F90:891
real(kind=realtype) selfzipcutoff
Definition: inputParam.F90:888
logical oversetdebugprint
Definition: inputParam.F90:895
logical debugzipper
Definition: inputParam.F90:886
logical useoversetloadbalance
Definition: inputParam.F90:881
logical usezippermesh
Definition: inputParam.F90:892
integer(kind=inttype) oversetupdatemode
Definition: inputParam.F90:887
logical recomputeoverlapmatrix
Definition: inputParam.F90:894
real(kind=realtype) nearwalldist
Definition: inputParam.F90:883
real(kind=realtype) oversetprojtol
Definition: inputParam.F90:884
real(kind=realtype) overlapfactor
Definition: inputParam.F90:882
integer(kind=inttype) nrefine
Definition: inputParam.F90:890
real(kind=realtype) backgroundvolscale
Definition: inputParam.F90:885
logical useoversetwallscaling
Definition: inputParam.F90:893
integer(kind=inttype) loadbalanceiter
Definition: inputParam.F90:502
integer(kind=inttype) partitionlikenproc
Definition: inputParam.F90:502
real(realtype) loadimbalance
Definition: inputParam.F90:500
logical splitblocks
Definition: inputParam.F90:501
real(kind=realtype) ssuthdim
Definition: inputParam.F90:604
real(kind=realtype) lengthrefd
Definition: inputParam.F90:621
real(kind=realtype) cpmin_rho
Definition: inputParam.F90:606
real(kind=realtype) sepsenmaxrho
Definition: inputParam.F90:608
logical useft2sa
Definition: inputParam.F90:587
real(kind=realtype) turbintensityinf
Definition: inputParam.F90:597
real(kind=realtype) gammaconstant
Definition: inputParam.F90:595
real(kind=realtype) eddyvisinfratio
Definition: inputParam.F90:597
integer(kind=inttype) equations
Definition: inputParam.F90:583
integer(kind=inttype) equationmode
Definition: inputParam.F90:583
real(kind=realtype), dimension(:), allocatable sepsenmaxfamily
Definition: inputParam.F90:609
real(kind=realtype) betad
Definition: inputParam.F90:612
real(kind=realtype) tsuthdim
Definition: inputParam.F90:604
real(kind=realtype), dimension(3) veldirfreestreamb
Definition: inputParam.F90:613
real(kind=realtype) reynolds
Definition: inputParam.F90:594
real(kind=realtype), dimension(3) liftdirectiond
Definition: inputParam.F90:614
real(kind=realtype), dimension(3) pointref
Definition: inputParam.F90:602
real(kind=realtype), dimension(3, 2) momentaxis
Definition: inputParam.F90:603
real(kind=realtype), dimension(3) dragdirectiond
Definition: inputParam.F90:615
real(kind=realtype), dimension(3) dragdirectionb
Definition: inputParam.F90:615
real(kind=realtype) prandtlturb
Definition: inputParam.F90:596
real(kind=realtype), dimension(3) pointrefd
Definition: inputParam.F90:616
integer(kind=inttype) liftindex
Definition: inputParam.F90:592
real(kind=realtype), dimension(3, 2) momentaxisd
Definition: inputParam.F90:617
logical walldistanceneeded
Definition: inputParam.F90:589
real(kind=realtype), dimension(3) dragdirection
Definition: inputParam.F90:601
real(kind=realtype) reynoldslength
Definition: inputParam.F90:594
real(kind=realtype) reynoldsd
Definition: inputParam.F90:619
logical forcesastractions
Definition: inputParam.F90:629
logical rvfb
Definition: inputParam.F90:586
real(kind=realtype), dimension(3) pointrefec
Definition: inputParam.F90:626
integer(kind=inttype) turbprod
Definition: inputParam.F90:584
real(kind=realtype), dimension(3) veldirfreestreamd
Definition: inputParam.F90:613
real(kind=realtype) machd
Definition: inputParam.F90:618
real(kind=realtype), dimension(3, 2) momentaxisb
Definition: inputParam.F90:617
real(kind=realtype) alphad
Definition: inputParam.F90:612
integer(kind=inttype) turbmodel
Definition: inputParam.F90:584
real(kind=realtype) machgridd
Definition: inputParam.F90:618
real(kind=realtype) beta
Definition: inputParam.F90:591
real(kind=realtype) gammaconstantd
Definition: inputParam.F90:620
real(kind=realtype) prandtlturbb
Definition: inputParam.F90:623
real(kind=realtype), dimension(:), allocatable cpmin_family
Definition: inputParam.F90:607
real(kind=realtype) lengthref
Definition: inputParam.F90:598
real(kind=realtype) machgrid
Definition: inputParam.F90:593
logical useqcr
Definition: inputParam.F90:587
logical wallfunctions
Definition: inputParam.F90:589
real(kind=realtype) rgasdimd
Definition: inputParam.F90:622
real(kind=realtype) machcoef
Definition: inputParam.F90:593
real(kind=realtype) cavitationnumber
Definition: inputParam.F90:605
real(kind=realtype) prandtl
Definition: inputParam.F90:596
real(kind=realtype), dimension(3) liftdirection
Definition: inputParam.F90:600
logical userotationsa
Definition: inputParam.F90:587
real(kind=realtype) pklim
Definition: inputParam.F90:596
real(kind=realtype) machcoefd
Definition: inputParam.F90:618
integer(kind=inttype) flowtype
Definition: inputParam.F90:583
real(kind=realtype) surfaceref
Definition: inputParam.F90:598
integer(kind=inttype) cpmodel
Definition: inputParam.F90:584
real(kind=realtype) mach
Definition: inputParam.F90:593
real(kind=realtype) rgasdim
Definition: inputParam.F90:595
real(kind=realtype), dimension(3) liftdirectionb
Definition: inputParam.F90:614
real(kind=realtype), dimension(3) veldirfreestream
Definition: inputParam.F90:599
real(kind=realtype) musuthdim
Definition: inputParam.F90:604
real(kind=realtype) alpha
Definition: inputParam.F90:591
real(kind=realtype) walldistcutoff
Definition: inputParam.F90:596
real(kind=realtype) prandtlb
Definition: inputParam.F90:623
integer(kind=inttype) rvfn
Definition: inputParam.F90:585
real(kind=realtype) reynoldslengthd
Definition: inputParam.F90:619
real(kind=realtype) surfacerefd
Definition: inputParam.F90:621
real(kind=realtype), dimension(3) pointrefb
Definition: inputParam.F90:616
real(kind=realtype) walloffset
Definition: inputParam.F90:596
real(kind=realtype), dimension(:, :, :), allocatable dvector
Definition: inputParam.F90:660
logical writeunsteadysurfspectral
Definition: inputParam.F90:682
logical writeunsteadyvolspectral
Definition: inputParam.F90:681
real(kind=realtype) dtunsteadyrestartspectral
Definition: inputParam.F90:668
real(kind=realtype), dimension(:, :, :), allocatable rotmatrixspectral
Definition: inputParam.F90:695
integer(kind=inttype) ntimeintervalsspectral
Definition: inputParam.F90:645
logical usetsinterpolatedgridvelocity
Definition: inputParam.F90:697
real(kind=realtype), dimension(:, :, :), allocatable dscalar
Definition: inputParam.F90:659
integer(kind=inttype) nunsteadysolspectral
Definition: inputParam.F90:680
real(kind=realtype) omegafourier
Definition: inputParam.F90:699
logical writeunsteadyrestartspectral
Definition: inputParam.F90:669
logical tsaltitudemode
Definition: inputParam.F90:863
logical tsalphafollowing
Definition: inputParam.F90:866
integer(kind=inttype) ntimestepscoarse
Definition: inputParam.F90:731
integer(kind=inttype) noldgridread
Definition: inputParam.F90:751
real(kind=realtype), dimension(:), allocatable gammarkunsteady
Definition: inputParam.F90:745
logical useale
Definition: inputParam.F90:754
integer(kind=inttype) nrkstagesunsteady
Definition: inputParam.F90:742
real(kind=realtype) deltat
Definition: inputParam.F90:733
integer(kind=inttype) timeintegrationscheme
Definition: inputParam.F90:719
logical updatewalldistanceunsteady
Definition: inputParam.F90:765
integer(kind=inttype) timeaccuracy
Definition: inputParam.F90:730
real(kind=realtype), dimension(:, :), allocatable betarkunsteady
Definition: inputParam.F90:744
integer(kind=inttype) ntimestepsfine
Definition: inputParam.F90:731
integer, parameter realtype
Definition: precision.F90:112