110 point_source = .false.
115 IF (ps_x_w(psv) /=
undefined) ps_defined(psv) = .true.
116 IF (ps_x_e(psv) /=
undefined) ps_defined(psv) = .true.
117 IF (ps_y_s(psv) /=
undefined) ps_defined(psv) = .true.
118 IF (ps_y_n(psv) /=
undefined) ps_defined(psv) = .true.
121 IF (ps_i_w(psv) /=
undefined_i) ps_defined(psv) = .true.
122 IF (ps_i_e(psv) /=
undefined_i) ps_defined(psv) = .true.
123 IF (ps_j_s(psv) /=
undefined_i) ps_defined(psv) = .true.
124 IF (ps_j_n(psv) /=
undefined_i) ps_defined(psv) = .true.
129 IF (.NOT.ps_defined(psv)) cycle psv_lp
132 point_source = .true.
138 WRITE(
err_msg,1101) psv,
'PS_X_w and PS_I_w ' 144 ps_x_e(psv) = xlength
146 WRITE(
err_msg,1101) psv,
'PS_X_e and PS_I_e ' 154 WRITE(
err_msg,1101) psv,
'PS_Y_s and PS_J_s ' 160 ps_y_n(psv) = ylength
162 WRITE(
err_msg,1101) psv,
'PS_Y_n and PS_J_n ' 170 WRITE(
err_msg,1101) psv,
'PS_Z_b and PS_K_b ' 178 WRITE(
err_msg,1101) psv,
'PS_Z_t and PS_K_t ' 183 1101
FORMAT(
'Error 1101: Point source ',i3,
' is ill-defined.',/a, &
184 ' are not specified.',/
'Please correct the mfix.dat file.')
234 INTEGER,
INTENT(in) :: PSV
241 DOUBLE PRECISION :: SUM
254 WRITE(
err_msg,1100) psv, trim(
ivar(
'PS_MASSFLOW_G',psv))
257 1100
FORMAT(
'Error 1100: Invalid specification for point source ',i3,&
258 '.',/a,
' is undefined but velocity is given.',/
'Please ', &
259 'correct the mfix.dat file.')
262 ps_massflow_g(psv) =
zero 268 ELSEIF(ps_massflow_g(psv) ==
zero)
THEN 269 IF(ps_u_g(psv) /=
zero .OR. &
270 ps_v_g(psv) /=
zero .OR. &
271 ps_w_g(psv) /=
zero)
THEN 273 WRITE(
err_msg,1101) psv, trim(
ivar(
'PS_MASSFLOW_G',psv))
277 1101
FORMAT(
'Error 1101: Invalid specification for point source ',i3,&
278 '.',/a,
' is zero but velocity is given.',/
'Please correct ', &
279 'the mfix.dat file.')
282 ELSEIF(ps_massflow_g(psv) <
zero)
THEN 283 WRITE(
err_msg,1102) psv, trim(
ivar(
'PS_MASSFLOW_G',psv))
286 1102
FORMAT(
'Error 1102: Invalid specifications for point source ',i3,&
287 '.',/a,
' < 0.0. Point sources can only add mass to a system',/&
288 'Please correct the mfix.dat file.')
317 1110
FORMAT(
'Error 1110: PS_X_g(',i3,
',:) do NOT sum to ONE and the ',&
318 'gas phase',/
'species equations are solved. Please correct ', &
319 'the mfix.dat file.')
325 1111
FORMAT(
'Error 1111: PS_X_g(',i3,
',:) do not sum to ONE or ZERO ',&
326 'and they',/
'are not needed. Please correct the mfix.dat ', &
327 'the mfix.dat file.')
344 WRITE(
err_msg,1001) psv, trim(
ivar(
'PS_T_g',psv)), &
356 1000
FORMAT(
'Error 1000: Required input not specified: ',a,/
'Please ',&
357 'correct the mfix.dat file.')
359 1001
FORMAT(
'Error 1001: Illegal or unknown input: ',a,
' = ',a,/ &
360 'Please correct the mfix.dat file.')
392 use discretelement
, only: des_mmax
411 INTEGER,
INTENT(in) :: PSV
420 DOUBLE PRECISION :: SUM
427 mmax_tot =
smax + des_mmax
432 IF(ps_massflow_s(psv,m) ==
undefined)
THEN 437 WRITE(
err_msg,1100)psv, trim(
ivar(
'PS_MASSFLOW_S',psv,m))
440 1100
FORMAT(
'Error 1100: Invalid specification for point source ',i3,&
441 '.',/a,
' is undefined but velocity is given.',/
'Please ', &
442 'correct the mfix.dat file.')
445 ps_massflow_s(psv,m) =
zero 451 ELSEIF(ps_massflow_s(psv,m) ==
zero)
THEN 452 IF(ps_u_s(psv,m) /=
zero .OR. &
453 ps_v_s(psv,m) /=
zero .OR. &
454 ps_w_s(psv,m) /=
zero)
THEN 456 WRITE(
err_msg,1101)psv, trim(
ivar(
'PS_MASSFLOW_S',psv,m))
460 1101
FORMAT(
'Error 1100: Invalid specification for point source ',i3,&
461 '.',/a,
' is zero but velocity is given.',/
'Please correct ', &
462 'the mfix.dat file.')
464 ELSEIF(ps_massflow_s(psv,m) <
zero)
THEN 465 WRITE(
err_msg,1102) psv, trim(
ivar(
'PS_MASSFLOW_S',psv,m))
468 1102
FORMAT(
'Error 1102: Invalid specifications for point source ',i3,&
469 '.',/a,
' < 0.0. Point sources can only add mass to a system',/&
470 'Please correct the mfix.dat file.')
485 1110
FORMAT(
'Error 1110: Invalid specifications for point source ',i3,&
486 '.',/
'Point sources are not supported for ',a,
' solids.',/ &
487 'Please correct the mfix.dat file.')
499 sum = sum +
ps_x_s(psv,m,n)
508 IF(species_eq(m))
THEN 512 1120
FORMAT(
'Error 1120: PS_X_s(',i3,
',',i2,
',:) do NOT sum to ONE ', &
513 'and the solids phase',/
'species equations are solved. ', &
514 'Please correct the mfix.dat file.')
520 1121
FORMAT(
'Error 1121: PS_X_s(',i3,
',',i2,
',:) do not sum to ONE ', &
521 'or ZERO and they',/
'are not needed. Please correct the ', &
522 'mfix.dat the mfix.dat file.')
539 WRITE(
err_msg,1001) psv, trim(
ivar(
'PS_T_s',psv,m)), &
551 1000
FORMAT(
'Error 1000: Required input not specified: ',a,/
'Please ',&
552 'correct the mfix.dat file.')
554 1001
FORMAT(
'Error 1001: Illegal or unknown input: ',a,
' = ',a,/ &
555 'Please correct the mfix.dat file.')
597 INTEGER,
INTENT(in) :: PSV
611 WRITE(
err_msg,1010) trim(
ivar(
'PS_MASSFLOW_G',psv))
634 IF(ps_massflow_s(psv,m) /=
undefined)
THEN 635 WRITE(
err_msg,1010) trim(
ivar(
'PS_MASSFLOW_S',psv,m))
662 1010
FORMAT(
'Error 1010: ',a,
' specified in an undefined PS region.')
integer, dimension(dimension_ps) ps_i_w
integer, parameter dim_n_g
double precision, dimension(dimension_ps) ps_v_g
double precision, dimension(dimension_ps) ps_t_g
subroutine check_ps_overflow(PSV)
double precision, dimension(dimension_ps, dim_m) ps_v_s
character(len=32) function ivar(VAR, i1, i2, i3)
logical function compare(V1, V2)
subroutine check_ps_gas_phase(PSV)
double precision, parameter one
logical, dimension(0:dim_m) species_eq
integer, dimension(dimension_ps) ps_j_n
character(len=3), dimension(dim_m) solids_model
double precision, dimension(dimension_ps) ps_y_n
double precision, parameter undefined
double precision, dimension(dimension_ps) ps_z_b
double precision, dimension(dimension_ps) ps_massflow_g
logical, dimension(dimension_ps) ps_defined
double precision, dimension(dimension_ps) ps_w_g
double precision, dimension(dimension_ps, dim_m) ps_t_s
double precision, dimension(dimension_ps) ps_x_e
double precision, dimension(dimension_ps) ps_x_w
subroutine init_err_msg(CALLER)
integer, dimension(dimension_ps) ps_k_b
double precision, dimension(dimension_ps, dim_m) ps_u_s
double precision, dimension(dimension_ps) ps_y_s
integer, dimension(dimension_ps) ps_k_t
subroutine check_ps_geometry
double precision, dimension(dimension_ps, dim_n_g) ps_x_g
integer, parameter dimension_ps
integer, dimension(0:dim_m) nmax
integer, parameter undefined_i
double precision, dimension(dimension_ps, dim_m) ps_massflow_s
character(len=line_length), dimension(line_count) err_msg
integer, parameter dim_n_s
double precision, dimension(dimension_ps) ps_z_t
double precision, dimension(dimension_ps, dim_m) ps_w_s
double precision, dimension(dimension_ps, dim_m, dim_n_s) ps_x_s
subroutine check_point_sources
double precision, dimension(dimension_ps) ps_u_g
integer, dimension(dimension_ps) ps_j_s
integer, dimension(dimension_ps) ps_i_e
double precision, parameter zero
subroutine flush_err_msg(DEBUG, HEADER, FOOTER, ABORT, LOG, CALL_TREE)
subroutine check_ps_solids_phases(PSV)