17 use run, only: kt_type_enum, ghd_2007
33 INTEGER,
INTENT(in) :: BCV
35 INTEGER,
INTENT(in) :: M_TOT
37 LOGICAL,
INTENT(in) :: SKIP(
dim_m)
54 mtot_l = merge( m_tot+1, m_tot, kt_type_enum == ghd_2007)
58 SELECT CASE(solids_model(m))
116 INTEGER,
INTENT(in) :: BCV
126 IF(bc_type_enum(bcv) == par_slip_wall)
THEN 145 IF(bc_hw_t_g(bcv) <
zero)
THEN 147 trim(
ival(bc_hw_t_g(bcv)))
150 IF(bc_hw_t_g(bcv)/=
zero .AND. &
167 WRITE(
err_msg,1001) trim(
ivar(
'BC_HW_X_g',bcv,n)), &
190 1000
FORMAT(
'Error 1000: Required input not specified: ',a,/
'Please ',&
191 'correct the mfix.dat file.')
193 1001
FORMAT(
'Error 1001: Illegal or unphysical input: ',a,
' = ',a,/ &
194 'Please correct the mfix.dat file.')
233 use run, only: kt_type_enum, ghd_2007
271 INTEGER,
INTENT(in) :: BCV
273 INTEGER,
INTENT(in) :: M
280 LOGICAL :: CHECK_MOMENTUM
282 LOGICAL :: CHECK_SCALARS
290 SELECT CASE(kt_type_enum)
292 check_momentum = (m == mmax)
293 check_scalars = (m /= mmax)
295 check_momentum = .true.
296 check_scalars = .true.
301 bc_jj_ps(bcv) = merge(1,0,granular_energy)
305 IF(.NOT.granular_energy .AND.
bc_jj_ps(bcv) == 1)
THEN 309 1101
FORMAT(
'Error 1101: Invoking BC_JJ_PS requires GRANULAR_ENERGY', &
310 '=.TRUE.',/
'Please correct the mfix.dat file.')
314 IF(check_momentum)
THEN 315 IF(bc_type_enum(bcv) == par_slip_wall .OR. &
328 bc_ww_s(bcv,m) =
zero 333 IF(granular_energy .AND.
bc_jj_ps(bcv)==0)
THEN 334 IF(bc_hw_theta_m(bcv,m) <
zero)
THEN 335 WRITE(
err_msg,1001) trim(
ivar(
'BC_HW_Theta_M',bcv,m)), &
336 trim(
ival(bc_hw_theta_m(bcv,m)))
339 IF(bc_hw_theta_m(bcv,m)/=
zero .AND. &
341 WRITE(
err_msg,1000) trim(
ivar(
'BC_ThetaW_M',bcv,m))
344 IF(bc_hw_theta_m(bcv,m)/=
undefined .AND. &
346 WRITE(
err_msg,1000) trim(
ivar(
'BC_C_THETA_M',bcv,m))
353 IF(check_scalars)
THEN 355 IF(bc_hw_t_s(bcv,m) <
zero)
THEN 356 WRITE(
err_msg,1001) trim(
ivar(
'BC_HW_T_s',bcv,m)), &
357 trim(
ival(bc_hw_t_s(bcv,m)))
360 IF(bc_hw_t_s(bcv,m)/=
zero .AND. &
372 IF(species_eq(m))
THEN 374 IF(bc_hw_x_s(bcv,m,nn) <
zero)
THEN 375 WRITE(
err_msg,1001) trim(
ivar(
'BC_HW_X_s',bcv,m,nn)),
379 IF(bc_hw_x_s(bcv,m,nn)/=
zero .AND.
386 WRITE(
err_msg,1000) trim(
ivar(
'BC_C_X_s',bcv,m,nn))
397 IF(granular_energy .AND.
bc_jj_ps(bcv) == 1)
THEN 399 IF(kt_type_enum == ghd_2007)
THEN 419 ELSEIF (e_w >
one .OR. e_w <
zero)
THEN 420 WRITE(
err_msg, 1001)
'E_W', e_w
425 tan_phi_w = tan(phi_w*
pi/180.d0)
437 ELSEIF (e_w >
one .OR. e_w <
zero)
THEN 438 WRITE(
err_msg, 1001)
'E_W', e_w
443 tan_phi_w = tan(phi_w*
pi/180.d0)
445 k4phi = 7.d0/2.d0*tan_phi_w*(1.d0+e_w)
447 phip0 = -0.0012596340709032689 + &
448 0.10645510095633175*k4phi - &
449 0.04281476447854031*k4phi**2 + &
450 0.009759402181229842*k4phi**3 - &
451 0.0012508257938705263*k4phi**4 + &
452 0.00008369829630479206*k4phi**5 - &
453 0.000002269550565981776*k4phi**6
456 IF (k4phi .le. 0.2d0)
THEN 457 phip0=0.09094568176225006*k4phi
466 IF (phip_out_jj)
THEN 481 1000
FORMAT(
'Error 1000: Required input not specified: ',a,/
'Please ',&
482 'correct the mfix.dat file.')
484 1001
FORMAT(
'Error 1001: Illegal or unphysical input: ',a,
' = ',a,/ &
485 'Please correct the mfix.dat file.')
487 1201
FORMAT(
'Error 1201: KT_TYPE = "GHD" cannot be used with ',&
488 ' BC_JJ_PS',/
'Please correct the mfix.dat file.')
490 1202
FORMAT(
'Error 1202: CARTESIAN_GRID cannot be used with ',&
491 ' BC_JJ_PS',/
'Please correct the mfix.dat file.')
493 1203
FORMAT(
'Error 1203: JENKINS and BC_JJ_M cannot be used at the',&
494 ' same time',/
'Please correct the mfix.dat file.')
495 1204
FORMAT(
'Error 1204: Angle of particle-wall friction (PHI_W) not',&
496 ' specified.',/
'Please correct the mfix.dat file.')
498 1208
FORMAT(
'Error 1208: phip0 less than zero.')
499 1209
FORMAT(
'Error 1209: nRR should be at least 1 for storing ',&
502 1207
FORMAT(/1x,70(
'*')//
' From: CHECK_BC_WALLS_TFM',/
' Message: ',&
503 'No input for phip0 available, working expression is used.',/ &
504 'phip0=',g12.5,/1x,70(
'*')/)
505 1210
FORMAT(/1x,70(
'*')//
' From: CHECK_BC_WALLS_TFM',/
' Message: ',&
506 'Specularity will be stored as the first element of ', &
507 'ReactionRates',/1x,
'array in WALL CELLS. Please avoid ', &
508 'overwriting it when reacting flow',/1x,
' is simulated.', &
550 INTEGER,
INTENT(in) :: BCV
552 INTEGER,
INTENT(in) :: M
565 IF((bc_hw_t_s(bcv,m) /=
undefined) .and. &
566 & (bc_hw_t_s(bcv,m) /=
zero))
THEN 569 ELSEIF((bc_c_t_s(bcv,m) /=
undefined) .and. &
570 & (bc_c_t_s(bcv,m) /=
zero))
THEN 575 1100
FORMAT(
'Error 1100: ',a,
' should not specified for DEM/PIC',/ &
576 'to be non-zero as they are currently limited to constant',/ &
577 'constant temperature BCs.',&
578 /
'Please correct the mfix.dat file.')
587 WRITE(
err_msg,1101) bcv, trim(
ivar(
'BC_Uw_s',bcv,m))
590 WRITE(
err_msg,1101) bcv, trim(
ivar(
'BC_Vw_s',bcv,m))
593 WRITE(
err_msg,1101) bcv, trim(
ivar(
'BC_Ww_s',bcv,m))
600 WRITE(
err_msg,1101) bcv, trim(
ivar(
'BC_HW_X_s',bcv,m,nn))
603 WRITE(
err_msg,1101) bcv, trim(
ivar(
'BC_Xw_s',bcv,m,nn))
606 WRITE(
err_msg,1101) bcv, trim(
ivar(
'BC_C_X_s',bcv,m,nn))
611 1101
FORMAT(
'Error 1101: Illegal input for boundary condition: ',i3,/ &
612 a,
' should not be specified for DEM/PIC simulations.',/ &
613 'Please correct the mfix.dat file.')
656 INTEGER,
INTENT(in) :: BCV
670 WRITE(
err_msg,1001) trim(
ivar(
'BC_HW_SCALAR',bcv,nn)),
676 WRITE(
err_msg,1000) trim(
ivar(
'BC_SCALARw',bcv,nn))
681 WRITE(
err_msg,1000) trim(
ivar(
'BC_C_SCALAR',bcv,nn))
689 1000
FORMAT(
'Error 1000: Required input not specified: ',a,/
'Please ',&
690 'correct the mfix.dat file.')
692 1001
FORMAT(
'Error 1001: Illegal or unphysical input: ',a,
' = ',a,/ &
693 'Please correct the mfix.dat file.')
double precision, dimension(dimension_bc, dim_m) bc_ww_s
double precision, dimension(dimension_bc, dim_scalar) bc_scalarw
double precision, dimension(dimension_bc) bc_uw_g
double precision, dimension(dimension_bc, dim_m) bc_uw_s
character(len=32) function ivar(VAR, i1, i2, i3)
double precision, dimension(dimension_bc, dim_m, dim_n_s) bc_hw_x_s
double precision, dimension(dimension_bc, dim_scalar) bc_c_scalar
double precision, parameter one
double precision, dimension(dimension_bc, dim_n_g) bc_c_x_g
double precision, dimension(dimension_bc) bc_hw_t_g
logical, dimension(0:dim_m) species_eq
double precision, dimension(dimension_bc, dim_m) bc_tw_s
character(len=3), dimension(dim_m) solids_model
double precision, parameter undefined
subroutine check_bc_walls_scalar_eq(BCV)
subroutine init_err_msg(CALLER)
double precision, dimension(dimension_bc, dim_m) bc_thetaw_m
double precision, dimension(dimension_bc, dim_m) bc_c_theta_m
double precision, dimension(dimension_bc, dim_m, dim_n_s) bc_c_x_s
double precision, dimension(dimension_bc) bc_tw_g
double precision, dimension(dimension_bc, dim_m, dim_n_s) bc_xw_s
integer, parameter unit_log
double precision, dimension(dimension_bc, dim_n_g) bc_xw_g
double precision, dimension(dimension_bc) bc_c_t_g
integer, dimension(0:dim_m) nmax
double precision, dimension(dimension_bc) bc_vw_g
double precision, dimension(dimension_bc, dim_m) bc_c_t_s
subroutine check_bc_walls_discrete(BCV, M)
integer, parameter undefined_i
subroutine check_bc_walls_tfm(BCV, M)
subroutine check_bc_walls(M_TOT, SKIP, BCV)
character(len=line_length), dimension(line_count) err_msg
integer, parameter dim_n_s
double precision, dimension(dimension_bc, dim_m) bc_hw_theta_m
double precision tan_phi_w
integer, dimension(dimension_bc) bc_jj_ps
double precision, parameter pi
double precision, dimension(dimension_bc, dim_m) bc_vw_s
double precision, dimension(dimension_bc) bc_ww_g
subroutine check_bc_walls_gas(BCV)
double precision, dimension(dimension_bc, dim_m) bc_hw_t_s
double precision, dimension(dimension_bc, dim_scalar) bc_hw_scalar
double precision, dimension(dimension_bc, dim_n_g) bc_hw_x_g
double precision, parameter zero
subroutine flush_err_msg(DEBUG, HEADER, FOOTER, ABORT, LOG, CALL_TREE)