30 use discretelement
, only: des_mmax
69 mmax_l = smax + des_mmax
76 ELSEIF(d_p0(m) <=
zero)
THEN 82 DO m = mmax_l+1,
dim_m 91 IF (k_s0(m) <
zero)
THEN 97 DO m = mmax_l+1,
dim_m 106 IF (c_ps0(m) <
zero)
THEN 112 DO m = mmax_l+1,
dim_m 144 1200
FORMAT(
'Error 1200: ',a,
' must be defined when USE_MMS is T.',/,&
145 'Please correct the mfix.dat file.')
163 1000
FORMAT(
'Error 1000: Required input not specified: ',a,/
'Please ',&
164 'correct the mfix.dat file.')
166 1001
FORMAT(
'Error 1001: Illegal or unphysical input: ',a,
' = ',a,/ &
167 'Please correct the mfix.dat file.')
169 1002
FORMAT(
'Error 1002: Illegal input: ',a,
' specified out of range.',
170 'Please correct the mfix.dat file.')
186 use run, only: drag_type
187 use run, only: drag_type_enum
189 use run, only: syam_obrien
190 use run, only: gidaspow
191 use run, only: gidaspow_pcf
192 use run, only: gidaspow_blend
193 use run, only: gidaspow_blend_pcf
194 use run, only: wen_yu
195 use run, only: wen_yu_pcf
196 use run, only: koch_hill
197 use run, only: koch_hill_pcf
200 use run, only: user_drag
222 SELECT CASE(trim(adjustl(drag_type)))
224 CASE (
'SYAM_OBRIEN'); drag_type_enum = syam_obrien
225 CASE (
'GIDASPOW'); drag_type_enum = gidaspow
226 CASE (
'GIDASPOW_PCF'); drag_type_enum = gidaspow_pcf
227 CASE (
'GIDASPOW_BLEND'); drag_type_enum = gidaspow_blend
228 CASE (
'GIDASPOW_BLEND_PCF'); drag_type_enum = gidaspow_blend_pcf
229 CASE (
'WEN_YU'); drag_type_enum = wen_yu
230 CASE (
'WEN_YU_PCF'); drag_type_enum = wen_yu_pcf
231 CASE (
'KOCH_HILL'); drag_type_enum = koch_hill
232 CASE (
'KOCH_HILL_PCF'); drag_type_enum = koch_hill_pcf
233 CASE (
'BVK'); drag_type_enum = bvk
234 CASE (
'HYS'); drag_type_enum = hys
235 CASE (
'USER_DRAG',
'USR_DRAG'); drag_type_enum = user_drag
238 WRITE(
err_msg,1001)
'DRAG_TYPE', trim(adjustl(drag_type))
246 1001
FORMAT(
'Error 1001: Illegal or unknown input: ',a,
' = ',a,/ &
247 'Please correct the mfix.dat file.')
275 USE run, only: drag_type
279 USE run, only: subgrid_type, subgrid_type_enum
280 USE run, only: undefined_subgrid_type, igci, milioli
288 use discretelement
, only: discrete_element
320 2011
FORMAT(
'Error 2011: Invalid input. SUBGRID_WALL cannot be used ',&
321 'without',/
'specifying a SUBGRID_TYPE.',/
'Please correct ', &
322 'the mfix.dat file.')
325 SELECT CASE(trim(adjustl(subgrid_type)))
327 CASE (
'IGCI'); subgrid_type_enum = igci
328 CASE (
'MILIOLI'); subgrid_type_enum = milioli
330 subgrid_type_enum = undefined_subgrid_type
333 IF(subgrid_type_enum .ne. igci .AND. subgrid_type_enum .ne. milioli
THEN 334 WRITE(
err_msg,1001)
'SUBGRID_TYPE', subgrid_type
338 IF(drag_type /=
'WEN_YU')
THEN 343 2012
FORMAT(
'Error 2012: Invalid input. WEN_YU is the only DRAG_TYPE',&
344 ' available',/
'when using the SUBGRID model.',/
'Please ', &
345 'correct the mfix.dat file.')
347 IF(discrete_element .OR.
mppic)
THEN 352 2013
FORMAT(
'Error 2013: Invalid input. The SUBGRID model is not ',
353 'available',/
'with discrete solids phases.',/
'Please ', &
354 'correct the mfix.dat file.')
357 IF(filter_size_ratio <=
zero)
THEN 358 WRITE(
err_msg, 1002)
'FILTER_SIZE_RATIO', filter_size_ratio
361 ELSEIF(granular_energy)
THEN 362 WRITE(
err_msg, 2010)
'GRANULAR_ENERGY',
'FALSE' 365 ELSEIF(k_epsilon)
THEN 366 WRITE(
err_msg, 2010)
'K_EPSILON',
'FALSE' 369 ELSEIF(blending_stress)
THEN 370 WRITE(
err_msg, 2010)
'BLENDING_STRESS',
'FALSE' 373 ELSEIF(friction)
THEN 374 WRITE(
err_msg, 2010)
'FRICTION',
'FALSE' 378 WRITE(
err_msg, 2010)
'SHEAR',
'FALSE' 382 WRITE(
err_msg, 2010)
'PHIP',
'ZERO' 388 WRITE(
err_msg, 2010)
'CARTESIAN_GRID',
'TRUE' 392 2010
FORMAT(
'Error 2010: Invalid input. ',a,
' must be ',a,/
'when ',
393 'using the SUBGRID model.'/,
'Please correct the mfix.dat', &
401 1001
FORMAT(
'Error 1001: Illegal or unknown input: ',a,
' = ',a,/ &
402 'Please correct the mfix.dat file.')
404 1002
FORMAT(
'Error 1002: Illegal or unknown input: ',a,
' = ',g14.4,/ &
405 'Please correct the mfix.dat file.')
407 1003
FORMAT(
'Error 1003: Illegal or unknown input: ',a,
' = ',i4,/ &
408 'Please correct the mfix.dat file.')
460 INTEGER,
intent(in) :: MMAX_LL
488 IF(species_eq(m))
THEN 492 ELSEIF(nmax_s(m) >
dim_n_s)
THEN 494 trim(
ival(nmax_s(m)))
503 nmax(m) = merge(1, nmax_s(m), nmax_s(m) ==
undefined_i)
514 2000
FORMAT(
'Message: 2000 The energy equations are being solved ', &
515 '(ENERGY_EQ) and',/
'the constant solids specific heat is ', &
516 'undefined (C_PS0). Thus, the',/
'thermochemical database ', &
517 'will be used to gather specific heat data on',/
'the ', &
518 'individual gas phase species.')
523 IF(species_eq(m)) seq_mws = .true.
532 2001
FORMAT(
'Message 2001: One or more species molecular weights are',&
533 ' undefined and',/
'the solids phase species equations are ', &
534 'solved (SOLVE_EQ(',i2,
')). The',/
'thermochemical database ', &
535 'will be used in an attempt to gather missing',/
'molecular ', &
539 rdatabase(m,:) = .false.
541 IF(eeq_cps .OR. seq_mws)
THEN 548 3000
FORMAT(
'Message 3000: Searching thermochemical databases for ', &
549 'solids phase',i3,/
'species data.',/
' ')
554 IF(eeq_cps .OR. mw_s(m,n) ==
undefined)
THEN 566 3001
FORMAT(/2x,
'>',i3,
': Species: ',a)
570 rdatabase(m,n) = .true.
589 1000
FORMAT(
'Error 1000: Required input not specified: ',a,/
'Please ',&
590 'correct the mfix.dat file.')
592 1001
FORMAT(
'Error 1001: Illegal or unphysical input: ',a,
' = ',a,/ &
593 'Please correct the mfix.dat file.')
595 1002
FORMAT(
'Error 1002: Illegal input: ',a,
' specified out of range.',
596 'Please correct the mfix.dat file.')
640 INTEGER,
intent(in) :: MMAX_LL
660 WRITE(
err_msg,2000) trim(
ivar(
'NMAX_s',m)),
'undefined' 663 WRITE(
err_msg,2000) trim(
ivar(
'NMAX',m)),
'specified' 682 WRITE(
err_msg, 2000) trim(
ivar(
'MW_s',m,n)),
'specified' 700 1000
FORMAT(
'Error 1000: Required input not specified: ',a,/
'Please ',&
701 'correct the mfix.dat file.')
703 1001
FORMAT(
'Error 1001: Illegal or unphysical input: ',a,
' = ',a,/ &
704 'Please correct the mfix.dat file.')
706 1002
FORMAT(
'Error 1002: Illegal input: ',a,
' specified out of range.',
707 'Please correct the mfix.dat file.')
709 2000
FORMAT(
'Error 2000: Invalid input. ',a,
' must be ',a,/
'when ', &
710 'USE_RRATES is .TRUE.'/,
'Please correct the mfix.dat file')
766 INTEGER,
intent(in) :: MMAX_LL
799 1100
FORMAT(
'Error 1101: No solids density information for phase ', &
800 i2,
'.',/
'Please correct the mfix.dat file.')
807 1101
FORMAT(
'Error 1101: Conflicting solids density input specified ',&
808 'for solids',/
'phase ',i2,
'. Constant solids density ', &
809 'specified (RO_s0) along with one',/
'or more of the variable',&
810 ' solids density parameters:',/
'RO_Xs0, X_s0, INERT_SPECIES.',&
811 /
'Please correct the mfix.dat file.')
821 ELSEIF(inert_species(m) < 1 .OR. &
822 inert_species(m) >
nmax(m))
THEN 823 WRITE(
err_msg, 1001) trim(
ivar(
'INERT_SPECIES',m)), &
824 trim(
ival(inert_species(m)))
827 IF(dil_inert_x_vsd(m)<=zero)
THEN 828 WRITE(
err_msg,1103) m, dil_inert_x_vsd(m)
830 ELSEIF(dil_inert_x_vsd(m)>one)
THEN 831 WRITE(
err_msg,1104) m, dil_inert_x_vsd(m)
832 print*,
'M,DIL_INERT_X_VSD(M)=',m,dil_inert_x_vsd(m)
840 ELSEIF(ro_xs0(m,n) < zero)
THEN 842 trim(
ival(ro_xs0(m,n)))
849 ELSEIF(x_s0(m,n) < zero .OR. x_s0(m,n) >= one)
THEN 851 trim(
ival(x_s0(m,n)))
869 IF(x_s0(m,inert_species(m)) == zero)
THEN 870 WRITE(
err_msg,1102) m, inert_species(m)
874 1102
FORMAT(
'Error 1102: Invalid baseline inert species mass',/ &
875 'fraction. The inert species mass fraction must be greater ',
876 'than zero.',/
' Phase ',i2,
' Inert Species: ',i3,
' X_s0 = 0.0')
878 1103
FORMAT(
'Error 1103: Invalid dilute region inert species mass',/
879 'fraction. The inert species mass fraction must be greater ',
880 'than zero.',/
' Phase ',i2,/ &
881 ' Please check the value of DIL_INERT_X_VSD:',g14.4)
883 1104
FORMAT(
'Error 1104: Invalid dilute region inert species mass',/
884 'fraction. The inert species mass fraction must be less ', &
885 'than or equal to one.',/
' Phase ',i2,/ &
886 ' Please check the value of DIL_INERT_X_VSD:',g14.4)
893 ELSEIF(ro_s0(m) <= zero)
THEN 901 DO m = mmax_ll+1, dim_m
927 1000
FORMAT(
'Error 1000: Required input not specified: ',a,/
'Please ',&
928 'correct the mfix.dat file.')
930 1001
FORMAT(
'Error 1001: Illegal or unphysical input: ',a,
' = ',a,/ &
931 'Please correct the mfix.dat file.')
933 1002
FORMAT(
'Error 1002: Illegal input: ',a,
' specified out of range.',
934 'Please correct the mfix.dat file.')
double precision, dimension(dim_m) c_ps0
character(len=18), dimension(dim_m, dim_n_s) species_s
double precision, dimension(dim_m) d_p0
character(len=32) function ivar(VAR, i1, i2, i3)
double precision, parameter one
double precision, dimension(dim_m) dif_s0
logical, dimension(0:dim_m) species_eq
logical, dimension(dim_m) solve_ros
double precision, dimension(dim_m, dim_n_s) x_s0
double precision, parameter undefined
double precision, dimension(dim_m, dim_n_s) ro_xs0
double precision function eoss0(M)
subroutine init_err_msg(CALLER)
subroutine check_solids_common_all
subroutine check_solids_species(MMAX_LL)
integer, dimension(dim_m) inert_species
subroutine check_solids_species_legacy(MMAX_LL)
double precision, dimension(dim_m) k_s0
double precision filter_size_ratio
double precision, dimension(dim_m) dil_inert_x_vsd
logical, dimension(0:dim_m, dim_n_g) rdatabase
integer, dimension(0:dim_m) nmax
double precision, dimension(dim_m, dim_n_s) mw_s
integer, parameter undefined_i
character(len=line_length), dimension(line_count) err_msg
integer, parameter dim_n_s
double precision, dimension(dim_m) ro_s0
subroutine read_database(lM, lN, lName, lMW)
double precision, dimension(dim_m) mu_s0
subroutine check_solids_density(MMAX_LL)
integer, dimension(dim_m) nmax_s
double precision, parameter zero
subroutine flush_err_msg(DEBUG, HEADER, FOOTER, ABORT, LOG, CALL_TREE)
subroutine check_solids_drag
character, parameter undefined_c
subroutine check_subgrid_model