62 TYPE(t_region
),
DIMENSION(:),
POINTER :: regions
69 CHARACTER(CHRLEN) :: rcsidentstring
77 rcsidentstring =
'$RCSfile: RFLU_CheckUserInput.F90,v $ $Revision: 1.32 $'
79 global => regions(1)%global
82 'RFLU_CheckUserInput.F90')
92 IF ( global%solverType /= solv_explicit .AND. &
93 global%solverType /= solv_implicit_nk )
THEN
94 CALL
errorstop(global,err_solver_type_invalid,__line__)
101 IF ( global%postOutputFormat /= post_output_format_tecplot .AND. &
102 global%postOutputFormat /= post_output_format_ensight )
THEN
103 CALL
errorstop(global,err_post_output_format_invalid,__line__)
110 IF ( global%postOutputFormat == post_output_format_ensight )
THEN
111 IF ( (global%postMergeFlag .EQV. .false.) .AND. &
112 (global%postNServers > global%nRegions) )
THEN
113 CALL
errorstop(global,err_post_nservers_invalid,__line__)
116 IF ( (global%postMergeFlag .EQV. .true.) .AND. &
117 (global%postNServers /= 1) )
THEN
118 WRITE(stdout,
'(A,3X,A)') solver_name, &
119 '*** WARNING *** Invalid input for number of servers.'
120 WRITE(stdout,
'(A,20X,A)') solver_name,
'Setting number of servers to one.'
122 global%postNServers = 1
130 DO ireg = lbound(regions,1),ubound(regions,1)
131 pmixtinput => regions(ireg)%mixtInput
137 IF ( pmixtinput%dimens < 1 .OR. pmixtinput%dimens > 3 )
THEN
138 CALL
errorstop(global,err_dimens_invalid,__line__)
145 IF ( pmixtinput%stencilDimensCells < 1 .OR. &
146 pmixtinput%stencilDimensCells > 3 )
THEN
147 CALL
errorstop(global,err_stencildimens_invalid,__line__)
150 IF ( pmixtinput%stencilDimensFaces < 1 .OR. &
151 pmixtinput%stencilDimensFaces > 3 )
THEN
152 CALL
errorstop(global,err_stencildimens_invalid,__line__)
155 IF ( pmixtinput%stencilDimensBFaces < 1 .OR. &
156 pmixtinput%stencilDimensBFaces > 3 )
THEN
157 CALL
errorstop(global,err_stencildimens_invalid,__line__)
160 IF ( pmixtinput%stencilDimensCells > pmixtinput%dimens )
THEN
161 CALL
errorstop(global,err_stencildimens_invalid,__line__)
164 IF ( pmixtinput%stencilDimensFaces > pmixtinput%dimens )
THEN
165 CALL
errorstop(global,err_stencildimens_invalid,__line__)
168 IF ( pmixtinput%stencilDimensBFaces > pmixtinput%dimens )
THEN
169 CALL
errorstop(global,err_stencildimens_invalid,__line__)
176 IF ( pmixtinput%stencilDimensCells > 1 )
THEN
177 IF ( pmixtinput%spaceOrder < 1 .OR. &
178 pmixtinput%spaceOrder > 2 )
THEN
179 CALL
errorstop(global,err_order_invalid,__line__)
183 IF ( pmixtinput%spaceOrderBFaces < 1 .OR. &
184 pmixtinput%spaceOrderBFaces > 2 )
THEN
185 CALL
errorstop(global,err_order_invalid,__line__)
192 IF ( pmixtinput%reconst /= reconst_none .AND. &
193 pmixtinput%reconst /= reconst_weno_simple .AND. &
194 pmixtinput%reconst /= reconst_weno_xyz .AND. &
195 pmixtinput%reconst /= reconst_lim_barthjesp .AND. &
196 pmixtinput%reconst /= reconst_lim_venkat )
THEN
197 CALL
errorstop(global,err_reconst_invalid,__line__)
204 IF ( pmixtinput%cReconstCells /= constr_none .AND. &
205 pmixtinput%cReconstCells /= constr_weighted )
THEN
206 CALL
errorstop(global,err_constr_invalid,__line__)
209 IF ( pmixtinput%cReconstFaces /= constr_none .AND. &
210 pmixtinput%cReconstFaces /= constr_weighted )
THEN
211 CALL
errorstop(global,err_constr_invalid,__line__)
218 IF ( pmixtinput%spaceDiscr /= discr_upw_roe .AND. &
219 pmixtinput%spaceDiscr /= discr_upw_hllc .AND. &
220 pmixtinput%spaceDiscr /= discr_upw_ausmplus )
THEN
221 CALL
errorstop(global,err_discr_invalid,__line__)
228 IF ( pmixtinput%gasModel /= gas_model_tcperf .AND. &
229 pmixtinput%gasModel /= gas_model_mixt_tcperf .AND. &
230 pmixtinput%gasModel /= gas_model_mixt_pseudo .AND. &
231 pmixtinput%gasModel /= gas_model_mixt_gasliq )
THEN
232 CALL
errorstop(global,err_gasmodel_invalid,__line__)
235 IF ( pmixtinput%gasModel == gas_model_mixt_tcperf .OR. &
236 pmixtinput%gasModel == gas_model_mixt_pseudo )
THEN
237 IF ( pmixtinput%spaceDiscr /= discr_upw_hllc .AND. &
238 pmixtinput%spaceDiscr /= discr_upw_ausmplus )
THEN
239 CALL
errorstop(global,err_gasmodel_discr_mismatch,__line__)
243 IF ( pmixtinput%gasModel == gas_model_mixt_gasliq )
THEN
244 IF ( pmixtinput%spaceDiscr /= discr_upw_roe .AND. &
245 pmixtinput%spaceDiscr /= discr_upw_hllc )
THEN
246 CALL
errorstop(global,err_gasmodel_discr_mismatch,__line__)
254 IF ( pmixtinput%tolerICT < 0.0_rfreal )
THEN
255 CALL
errorstop(global,err_tolerict_invalid,__line__)
262 IF ( pmixtinput%moveGrid .EQV. .true. )
THEN
263 IF ( pmixtinput%moveGridType /= movegrid_type_disp .AND. &
264 pmixtinput%moveGridType /= movegrid_type_xyz .AND. &
265 pmixtinput%moveGridType /= movegrid_type_genx )
THEN
266 global%warnCounter = global%warnCounter + 1
268 IF ( ireg == lbound(regions,1) .AND. &
269 global%myProcid == masterproc .AND. &
270 global%verbLevel > verbose_none )
THEN
271 WRITE(stdout,
'(A,3X,A,A)') solver_name, &
272 '*** WARNING *** Invalid input for ', &
273 'grid motion type. Overriding user input.'
277 pmixtinput%moveGridType = movegrid_type_disp
279 pmixtinput%moveGridType = movegrid_type_genx
284 IF ( pmixtinput%moveGridType /= movegrid_type_genx )
THEN
285 global%warnCounter = global%warnCounter + 1
287 IF ( ireg == lbound(regions,1) .AND. &
288 global%myProcid == masterproc .AND. &
289 global%verbLevel > verbose_none )
THEN
290 WRITE(stdout,
'(A,3X,A,A)') solver_name, &
291 '*** WARNING *** Invalid input for ', &
292 'grid motion type. Overriding user input.'
295 pmixtinput%moveGridType = movegrid_type_genx
305 IF ( pmixtinput%moveGrid .EQV. .false. )
THEN
306 global%warnCounter = global%warnCounter + 1
308 IF ( ireg == lbound(regions,1) .AND. &
309 global%myProcid == masterproc .AND. &
310 global%verbLevel > verbose_none )
THEN
311 WRITE(stdout,
'(A,3X,A,A)') solver_name, &
312 '*** WARNING *** Invalid input for ', &
313 'grid motion. Overriding user input.'
316 pmixtinput%moveGrid = .true.
324 IF ( pmixtinput%spaceDiscr == discr_opt_les .AND. &
325 pmixtinput%flowModel /= flow_navst )
THEN
326 CALL
errorstop(global,err_oles_flowmodel,__line__)
334 IF ( global%randSeedType < rand_seed_type_fixed .OR. &
335 global%randSeedType > rand_seed_type_clock )
THEN
336 CALL
errorstop(global,err_rand_seed_type_invalid,__line__)
subroutine registerfunction(global, funName, fileName)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine deregisterfunction(global)