15 use discretelement
, only: discrete_element
17 use discretelement
, only: des_continuum_hybrid
19 use discretelement
, only: des_continuum_coupled
21 use discretelement
, only: des_oneway_coupled
23 use discretelement
, only: des_mmax
25 use discretelement
, only: print_des_data
50 use run, only: kt_type
75 IF (mmax < 0) err_mmax = .true.
76 IF(trim(kt_type) ==
'GHD')
THEN 77 IF (mmax+1 >
dim_m) err_mmax = .true.
79 IF (mmax >
dim_m) err_mmax = .true.
81 IF((
use_mms).AND.(mmax > 1)) err_mmax = .true.
88 1000
FORMAT(
'Error 1000: MMAX out of range. Min: 0, Max: ',a)
92 solids_model(m) = trim(adjustl(solids_model(m)))
93 SELECT CASE(solids_model(m))
94 CASE (
'TFM'); tfm_count = tfm_count + 1
95 CASE (
'DEM'); dem_count = dem_count + 1
96 CASE (
'PIC'); pic_count = pic_count + 1
99 WRITE(
err_msg,1001)
ivar(
'SOLIDS_MODEL',m), solids_model(m)
102 1001
FORMAT(
'Error 1001: Unknown solids model: ',a,
' = ',a)
108 des_mmax = dem_count + pic_count
111 mmax = mmax - des_mmax
114 IF(trim(kt_type) ==
'GHD')
THEN 116 tfm_count = tfm_count + 1
117 solids_model(mmax) =
'TFM' 122 solids_model((mmax+des_mmax)+1:
dim_m) =
'---' 125 tfm_solids = (tfm_count > 0)
126 dem_solids = (dem_count > 0)
127 pic_solids = (pic_count > 0)
130 IF(pic_solids .AND. tfm_solids)
THEN 134 1002
FORMAT(
'Error 1002: MPPIC solids and continuum solids cannot ',&
135 'be combined.',/
'Please correct the mfix.dat file.')
139 IF(pic_solids .AND. dem_solids)
THEN 143 1003
FORMAT(
'Error 1003: MPPIC solids and DES solids cannot be ', &
144 'combined.',/
'Please correct the mfix.dat file.')
148 m = max(smax, des_mmax)
149 any_species_eq = any(species_eq(:m))
159 1004
FORMAT(
'Error 1004: Illegal or unknown input: ',a,
' = ',a,/ &
160 'Please correct the mfix.dat file.')
163 discrete_element = dem_solids .OR. pic_solids
167 des_continuum_hybrid = (dem_solids .AND. tfm_solids)
169 des_continuum_coupled = .NOT.(
ro_g0 == 0.0d0)
174 IF(.NOT.discrete_element)
THEN 175 des_continuum_coupled = .false.
176 print_des_data = .false.
177 des_oneway_coupled = .false.
222 CASE (
'TFM'); tfm_max = max(m, tfm_max)
223 CASE (
'DEM'); dem_min = min(m, dem_min)
227 write(*,*)
' MAX TFM index: ', tfm_max
228 write(*,*)
' MIN DEM index: ', dem_min
230 IF(dem_min < tfm_max)
THEN 235 2000
FORMAT(
'Error 2000: Illegal phase specification for hybrid ', &
236 'model. All TFM',/
'solids must be defined before DEM solids.',&
237 /
'Please correct the mfix.dat file.')
character(len=32) function ivar(VAR, i1, i2, i3)
logical, dimension(0:dim_m) species_eq
character(len=3), dimension(dim_m) solids_model
subroutine init_err_msg(CALLER)
character(len=line_length), dimension(line_count) err_msg
subroutine check_solids_model_prereqs
integer, dimension(1:dim_scalar) phase4scalar
subroutine flush_err_msg(DEBUG, HEADER, FOOTER, ABORT, LOG, CALL_TREE)