74 TYPE(t_region
),
POINTER :: regions(:)
77 INTEGER :: ireg, iproc
84 global => regions(1)%global
87 'RFLO_PrintUserInput.F90' )
91 WRITE(stdout,1000) solver_name
95 WRITE(stdout,1005) solver_name//
' Region mapping:'
96 IF(global%nRegionsProc > 0)
THEN
97 WRITE(stdout,1010) solver_name//
' nRegions/Processor:',global%nRegionsProc
99 IF (global%verbLevel.gt.verbose_med)
then
100 DO iproc=0,global%nProcAlloc-1
101 WRITE(stdout,
'(/,A,I5,A)',advance=
'no') solver_name//
' proc. ',iproc,
': '
102 DO ireg=1,global%nRegions
103 IF (regions(ireg)%procid == iproc)
THEN
104 WRITE(stdout,
'(1X,I5)',advance=
'no') ireg
112 WRITE(stdout,1005) solver_name//
' Reference values:'
113 WRITE(stdout,1020) solver_name//
' absvel ',global%refVelocity
114 WRITE(stdout,1020) solver_name//
' press ',global%refPressure
115 WRITE(stdout,1020) solver_name//
' dens ',global%refDensity
116 WRITE(stdout,1020) solver_name//
' cp ',global%refCp
117 WRITE(stdout,1020) solver_name//
' gamma ',global%refGamma
118 WRITE(stdout,1020) solver_name//
' length ',global%refLength
119 WRITE(stdout,1020) solver_name//
' renum ',global%refREnum
120 WRITE(stdout,1020) solver_name//
' visc ',global%refVisc
121 WRITE(stdout,1020) solver_name//
' prlam ',global%prLam
122 WRITE(stdout,1020) solver_name//
' prturb ',global%prTurb
123 WRITE(stdout,1020) solver_name//
' scnlam ',global%scnLam
124 WRITE(stdout,1020) solver_name//
' scnturb',global%scnTurb
128 WRITE(stdout,1005) solver_name//
' Acceleration terms:'
129 IF (global%accelOn)
THEN
130 WRITE(stdout,1030) solver_name//
' terms on'
131 WRITE(stdout,1020) solver_name//
' accel-x ',global%accelX
132 WRITE(stdout,1020) solver_name//
' accel-y ',global%accelY
133 WRITE(stdout,1020) solver_name//
' accel-z ',global%accelZ
135 WRITE(stdout,1030) solver_name//
' terms off'
146 WRITE(stdout,1005) solver_name//
' Time stepping:'
147 IF (global%solverType == solv_explicit)
THEN
148 WRITE(stdout,1030) solver_name//
' explicit scheme'
150 WRITE(stdout,1030) solver_name//
' implicit scheme'
152 IF (global%flowType == flow_unsteady)
THEN
153 WRITE(stdout,1020) solver_name//
' timestep',global%dtImposed
154 WRITE(stdout,1020) solver_name//
' time ',global%timeStamp
155 WRITE(stdout,1020) solver_name//
' maxtime ',global%maxTime
156 WRITE(stdout,1020) solver_name//
' writime ',global%writeTime
157 WRITE(stdout,1020) solver_name//
' prntime ',global%printTime
158 IF (global%solverType == solv_implicit)
THEN
159 WRITE(stdout,1015) solver_name//
' order ',global%tstepOrder
160 WRITE(stdout,1015) solver_name//
' subiter ',global%maxSubIter
161 WRITE(stdout,1020) solver_name//
' tolsub ',global%tolSubIter
162 IF (global%predictSol)
THEN
163 WRITE(stdout,1030) solver_name//
' predict = yes'
165 WRITE(stdout,1030) solver_name//
' predict = no'
167 IF (global%dtFixed)
THEN
168 WRITE(stdout,1030) solver_name//
' fixed dt = yes'
170 WRITE(stdout,1030) solver_name//
' fixed dt = no'
173 WRITE(stdout,1015) solver_name//
' rkScheme',global%rkScheme
175 WRITE(stdout,1015) solver_name//
' iter ',global%currentIter
176 WRITE(stdout,1015) solver_name//
' maxiter',global%maxIter
177 WRITE(stdout,1020) solver_name//
' restol ',global%resTol
178 WRITE(stdout,1015) solver_name//
' wriiter',global%writeIter
179 WRITE(stdout,1015) solver_name//
' prniter',global%printIter
184 WRITE(stdout,1005) solver_name//
' Grid motion:'
185 IF (global%moveGridScheme == movegrid_blocks)
THEN
186 WRITE(stdout,1030) solver_name//
' block-TFI scheme'
187 ELSEIF (global%moveGridScheme == movegrid_global)
THEN
188 WRITE(stdout,1030) solver_name//
' block-wght-Laplacian scheme'
189 WRITE(stdout,1015) solver_name//
' niter ',global%moveGridNiter
190 WRITE(stdout,1020) solver_name//
' power ',global%moveGridPower
191 ELSEIF (global%moveGridScheme == movegrid_frame)
THEN
192 WRITE(stdout,1030) solver_name//
' global-wght-Laplacian scheme'
193 WRITE(stdout,1015) solver_name//
' niter ',global%moveGridNiter
194 WRITE(stdout,1020) solver_name//
' amplifx ',global%moveGridAmplifX
195 WRITE(stdout,1020) solver_name//
' amplify ',global%moveGridAmplifY
196 WRITE(stdout,1020) solver_name//
' amplifz ',global%moveGridAmplifZ
197 WRITE(stdout,1020) solver_name//
' power ',global%moveGridPower
198 WRITE(stdout,1015) solver_name//
' neighbors ',global%moveGridNbour
199 WRITE(stdout,1015) solver_name//
' orthodir ',global%moveGridOrthDir
200 WRITE(stdout,1020) solver_name//
' orthowghtx',global%moveGridOrthWghtX
201 WRITE(stdout,1020) solver_name//
' orthowghtY',global%moveGridOrthWghtY
202 WRITE(stdout,1020) solver_name//
' orthowghtZ',global%moveGridOrthWghtZ
203 WRITE(stdout,1015) solver_name//
' nsurfmatch',global%moveGridNsmatch
204 ELSEIF (global%moveGridScheme == movegrid_foms)
THEN
205 WRITE(stdout,1030) solver_name//
' global-orthogonal-Laplacian scheme'
206 WRITE(stdout,1015) solver_name//
' niter ',global%moveGridNiter
207 WRITE(stdout,1020) solver_name//
' weight ',global%moveGridWeight
208 WRITE(stdout,1020) solver_name//
' amplifx ',global%moveGridAmplifX
209 WRITE(stdout,1020) solver_name//
' amplify ',global%moveGridAmplifY
210 WRITE(stdout,1020) solver_name//
' amplifz ',global%moveGridAmplifZ
211 WRITE(stdout,1020) solver_name//
' power ',global%moveGridPower
212 WRITE(stdout,1015) solver_name//
' neighbors ',global%moveGridNbour
213 WRITE(stdout,1015) solver_name//
' orthodir ',global%moveGridOrthDir
214 WRITE(stdout,1020) solver_name//
' orthowghtx',global%moveGridOrthWghtX
215 WRITE(stdout,1020) solver_name//
' orthowghtY',global%moveGridOrthWghtY
216 WRITE(stdout,1020) solver_name//
' orthowghtZ',global%moveGridOrthWghtZ
217 WRITE(stdout,1020) solver_name//
' weight ',global%moveGridWeight
218 WRITE(stdout,1020) solver_name//
' orthocell ',global%moveGridOrthCell
219 WRITE(stdout,1015) solver_name//
' nsurfmatch',global%moveGridNsmatch
220 ELSEIF (global%moveGridScheme == movegrid_elglobal)
THEN
221 WRITE(stdout,1030) solver_name//
' block-elliptic-PDE scheme'
222 WRITE(stdout,1015) solver_name//
' niter ',global%moveGridNiter
223 WRITE(stdout,1015) solver_name//
' viter ',global%moveGridViter
224 WRITE(stdout,1015) solver_name//
' siter ',global%moveGridSiter
225 WRITE(stdout,1020) solver_name//
' power ',global%moveGridPower
226 ELSEIF (global%moveGridScheme == movegrid_elframe)
THEN
227 WRITE(stdout,1030) solver_name//
' global-elliptic-PDE scheme'
228 WRITE(stdout,1015) solver_name//
' niter ',global%moveGridNiter
229 WRITE(stdout,1015) solver_name//
' viter ',global%moveGridViter
230 WRITE(stdout,1015) solver_name//
' siter ',global%moveGridSiter
231 WRITE(stdout,1020) solver_name//
' amplifx ',global%moveGridAmplifX
232 WRITE(stdout,1020) solver_name//
' amplify ',global%moveGridAmplifY
233 WRITE(stdout,1020) solver_name//
' amplifz ',global%moveGridAmplifZ
234 WRITE(stdout,1020) solver_name//
' power ',global%moveGridPower
235 WRITE(stdout,1015) solver_name//
' neighbors ',global%moveGridNbour
236 WRITE(stdout,1015) solver_name//
' orthodir ',global%moveGridOrthDir
237 WRITE(stdout,1020) solver_name//
' orthowghtx',global%moveGridOrthWghtX
238 WRITE(stdout,1020) solver_name//
' orthowghtY',global%moveGridOrthWghtY
239 WRITE(stdout,1020) solver_name//
' orthowghtZ',global%moveGridOrthWghtZ
240 WRITE(stdout,1015) solver_name//
' nsurfmatch',global%moveGridNsmatch
241 ELSEIF (global%moveGridScheme == movegrid_vms)
THEN
242 WRITE(stdout,1030) solver_name//
' block-VMS scheme'
243 WRITE(stdout,1015) solver_name//
' niter ',global%moveGridNiter
244 WRITE(stdout,1020) solver_name//
' weight',global%moveGridWeight
250 IF (global%doStat == active)
THEN
251 IF (global%reStat == active)
THEN
252 WRITE(stdout,1005) solver_name//
' Continued statistics:'
254 WRITE(stdout,1005) solver_name//
' New statistics:'
256 IF (global%mixtNStat > 0)
THEN
257 WRITE(stdout,*) solver_name//
' mixture NStat =',global%mixtNStat
258 WRITE(stdout,*) solver_name//
' mixture StatID =', &
259 global%mixtStatID(1,:)*10+global%mixtStatID(2,:)
261 IF (global%turbNStat > 0)
THEN
262 WRITE(stdout,*) solver_name//
' TURB NStat =',global%turbNStat
263 WRITE(stdout,*) solver_name//
' TURB StatID =', &
264 global%turbStatID(1,:)*10+global%turbStatID(2,:)
270 IF (regions(1)%periInput%flowKind /= off)
THEN
278 IF (global%verbLevel.gt.verbose_med)
then
279 DO ireg=1,global%nRegions
280 WRITE(stdout,1025) solver_name,ireg
284 WRITE(stdout,1005) solver_name//
' Dimensions:'
285 WRITE(stdout,1015) solver_name//
' icells ',regions(ireg)%levels(1)%grid%ipc
286 WRITE(stdout,1015) solver_name//
' jcells ',regions(ireg)%levels(1)%grid%jpc
287 WRITE(stdout,1015) solver_name//
' kcells ',regions(ireg)%levels(1)%grid%kpc
288 WRITE(stdout,1010) solver_name//
' dumcells',regions(ireg)%nDumCells
292 WRITE(stdout,1005) solver_name//
' Flow type, turbulence:'
293 IF (regions(ireg)%mixtInput%flowModel == flow_euler)
THEN
294 WRITE(stdout,1030) solver_name//
' flow model = Euler'
296 WRITE(stdout,1030) solver_name//
' flow model = Navier-Stokes'
298 IF (regions(ireg)%mixtInput%moveGrid)
THEN
299 WRITE(stdout,1030) solver_name//
' moving grid = yes'
301 WRITE(stdout,1030) solver_name//
' moving grid = no'
304 IF (regions(ireg)%mixtInput%flowModel == flow_navst)
THEN
305 IF (regions(ireg)%mixtInput%turbModel == turb_model_none)
THEN
306 WRITE(stdout,1030) solver_name//
' turb. model = none'
316 IF (regions(ireg)%mixtInput%computeTv)
THEN
317 WRITE(stdout,1005) solver_name//
' Viscosity model:'
319 IF (regions(ireg)%mixtInput%viscModel == visc_suthr)
THEN
320 WRITE(stdout,1030) solver_name//
' viscosity model = Sutherland'
321 WRITE(stdout,1020) solver_name//
' reference viscosity ',&
322 regions(ireg)%mixtInput%refVisc
323 WRITE(stdout,1020) solver_name//
' reference temperature ',&
324 regions(ireg)%mixtInput%refTemp
325 WRITE(stdout,1020) solver_name//
' Sutherland coefficient',&
326 regions(ireg)%mixtInput%suthCoef
328 ELSEIF (regions(ireg)%mixtInput%viscModel == visc_fixed)
THEN
329 WRITE(stdout,1030) solver_name//
' viscosity model = Fixed'
330 WRITE(stdout,1020) solver_name//
' viscosity value ',&
331 regions(ireg)%mixtInput%refVisc
333 ELSEIF (regions(ireg)%mixtInput%viscModel == visc_antib)
THEN
334 WRITE(stdout,1030) solver_name//
' viscosity model = Antibes'
335 WRITE(stdout,1020) solver_name//
' reference viscosity',&
336 regions(ireg)%mixtInput%refVisc
343 WRITE(stdout,1005) solver_name//
' Multi-physics modules:'
345 IF (regions(ireg)%mixtInput%gasModel == gas_model_tcperf)
THEN
346 WRITE(stdout,1030) solver_name//
' species model = none'
353 IF (global%peulUsed)
THEN
355 WRITE(stdout,1030) solver_name//
' con.part. used = yes'
359 WRITE(stdout,1030) solver_name//
' con.part. used = no'
362 IF (global%plagUsed)
THEN
364 WRITE(stdout,1030) solver_name//
' dis.part. used = yes'
368 WRITE(stdout,1030) solver_name//
' dis.part. used = no'
371 IF (regions(ireg)%mixtInput%radiUsed)
THEN
376 WRITE(stdout,1030) solver_name//
' radiation used = no'
380 IF (global%inrtUsed)
THEN
387 WRITE(stdout,1005) solver_name//
' Numerics:'
388 WRITE(stdout,1010) solver_name//
' levels ',regions(ireg)%nGridLevels
389 IF (regions(ireg)%mixtInput%timeScheme == tst_hyb5rk)
THEN
390 WRITE(stdout,1030) solver_name//
' timedis = explicit multistage'
391 ELSE IF (regions(ireg)%mixtInput%timeScheme == tst_std4rk)
THEN
392 WRITE(stdout,1030) solver_name//
' timedis = explicit classical Runge-Kutta'
394 WRITE(stdout,1020) solver_name//
' CFL ',regions(ireg)%mixtInput%cfl
395 WRITE(stdout,1020) solver_name//
' smoocf ',regions(ireg)%mixtInput%smoocf
396 WRITE(stdout,1010) solver_name//
' discr ',regions(ireg)%mixtInput%spaceDiscr
397 IF (regions(ireg)%mixtInput%spaceDiscr == discr_cen_scal)
THEN
398 WRITE(stdout,1020) solver_name//
' k2 ',regions(ireg)%mixtInput%vis2
399 WRITE(stdout,1020) solver_name//
' 1/k4 ',1./regions(ireg)%mixtInput%vis4
400 IF (regions(ireg)%mixtInput%pSwitchType == pswitch_std)
THEN
401 WRITE(stdout,1030) solver_name//
' pswitch = standard'
403 WRITE(stdout,1030) solver_name//
' pswitch = mixed TVD and standard'
404 WRITE(stdout,1020) solver_name//
' pswOmega',regions(ireg)%mixtInput%pSwitchOmega
407 WRITE(stdout,1010) solver_name//
' order ',regions(ireg)%mixtInput%spaceOrder
408 WRITE(stdout,1020) solver_name//
' limfac ',regions(ireg)%mixtInput%limfac
409 WRITE(stdout,1020) solver_name//
' entropy ',regions(ireg)%mixtInput%epsentr
411 IF (regions(ireg)%mixtInput%faceEdgeAvg == fe_avg_uniform)
THEN
412 WRITE(stdout,1030) solver_name//
' f/e avg = uniform'
414 WRITE(stdout,1030) solver_name//
' f/e avg = grid-dependent linear'
421 WRITE(stdout,1035) solver_name
425 1000
FORMAT(/,
a,1
x,80(
'-'))
427 1010
FORMAT(
a,
' = ',i2)
428 1015
FORMAT(
a,
' = ',i8)
429 1020
FORMAT(
a,
' = ',e12.5)
430 1025
FORMAT(/,
a,
' Region ',i6,
':')
432 1035
FORMAT(/,
a,1
x,80(
'-'),/)
subroutine registerfunction(global, funName, fileName)
subroutine deregisterfunction(global)