40 LOGICAL,
intent(in) :: DO_VEL_CHECK
43 INTEGER,
intent(in) :: M_TOT
44 LOGICAL,
intent(in) :: SKIP(
dim_m)
47 INTEGER,
intent(in) :: BCV
50 LOGICAL :: CONVERTED = .false.
92 1100
FORMAT(
'Warning 1100: Some volumetric or mass flow rates have ', &
93 'been converted',/
'velocity. Ensure that the third (unused) ',&
94 'dimension in 2D simulations',/
'is correctly specified (e.g.',&
95 ', in axisymmetric cylindrical coordinates',/
'ZLENGTH = 2*Pi)')
131 INTEGER,
INTENT(in) :: BCV
134 DOUBLE PRECISION :: VOLFLOW
136 DOUBLE PRECISION :: MW
145 ELSEIF(
ro_g0 /= undefined)
THEN 146 volflow = bc_massflow_g(bcv)/
ro_g0 149 ELSEIF(bc_p_g(bcv)/=undefined .AND. bc_t_g(bcv)/=undefined)
THEN 150 IF(mw_avg == undefined)
THEN 155 volflow = bc_massflow_g(bcv) / &
164 1100
FORMAT(
'Error 1100: Boundary condition ',i3,
' failed sanity ', &
165 'check.',/
'Please report this to the MFIX mailing list.')
170 IF(bc_volflow_g(bcv) /= undefined)
THEN 171 IF(.NOT.
compare(volflow,bc_volflow_g(bcv)))
THEN 172 WRITE(
err_msg,1101) trim(
ivar(
'BC_MASSFLOW_g',bcv)), bcv, &
173 volflow, bc_volflow_g(bcv)
179 bc_volflow_g(bcv) = volflow
182 1101
FORMAT(
'Error 1101: Volumetric flow rate calculated from ',a,/ &
183 'does NOT equal the specified volumetric flow rate for BC',i3,&
184 /3x,
'>>> Calculated: ',g14.7,/3x,
'>>> Specified: ',g14.7,/ &
185 'Please correct the mfix.dat file.')
221 INTEGER,
INTENT(in) :: BCV, M
222 LOGICAL,
INTENT(in) :: SKIP_M
225 DOUBLE PRECISION :: VOLFLOW
233 WRITE(
err_msg,1100) m, bcv, trim(
ivar(
"BC_MASSFLOW_S",bcv,m))
237 1100
FORMAT(
'Error 1100: Solids phase ',i2,
' has a specified mass ', &
238 'flow rate',/
'at BC ',i3,
', ',a,
'. But, both BC_ROP_s and ',&
239 'BC_EP_s are zero or undefined.',/
'Please correct the ',&
246 volflow = bc_massflow_s(bcv,m)/ro_s0(m)
249 inert = inert_species(m)
251 volflow = bc_massflow_s(bcv,m)/
eoss(ro_s0(m), &
256 IF(bc_volflow_s(bcv,m) /=
undefined)
THEN 257 IF(.NOT.
compare(volflow,bc_volflow_s(bcv,m)))
THEN 258 WRITE(
err_msg,1101) trim(
ivar(
'BC_MASSFLOW_S',bcv,m)), bcv,
263 bc_volflow_s(bcv,m) = volflow
270 1101
FORMAT(
'Error 1101: Volumetric flow rate calculated from ',a,/ &
271 'does NOT equal the specified volumetric flow rate for BC',i3,&
272 /3x,
'>>> Calculated: ',g14.7,/3x,
'>>> Specified: ',g14.7,/ &
273 'Please correct the mfix.dat file.')
313 INTEGER,
INTENT(in) :: BCV
316 LOGICAL,
INTENT(in) :: DO_VEL_CHECK
319 DOUBLE PRECISION :: SGN, OFF
322 DOUBLE PRECISION :: VEL
327 CASE (mass_inflow); sgn =
one; off =
zero 328 CASE (mass_outflow); sgn = -
one; off =
one 330 write(*,*)
'error in GAS_VOLFLOW_TO_VELOCITY' 335 CASE (
'W'); sgn = -sgn
336 CASE (
'S'); sgn = -sgn
337 CASE (
'B'); sgn = -sgn
392 1100
FORMAT(/1
x,70(
'*')//
' From: FLOW_TO_VEL',/
' Message: BC No:',i2,/,
393 ' Computed velocity is not equal to specified value',/,&
394 ' Value computed from vol. or mass flow = ',g14.7,/,&
395 ' Specified value (',a,
') = ',g14.7,/1
x,70(
'*')/)
434 INTEGER,
INTENT(in) :: BCV, M
436 LOGICAL,
INTENT(in) :: DO_VEL_CHECK, SKIP_M
439 DOUBLE PRECISION :: VEL
441 DOUBLE PRECISION :: SGN, OFF
448 WRITE(
err_msg,1100) m, bcv, trim(
ivar(
"BC_VOLFLOW_S",bcv,m))
452 1100
FORMAT(
'Error 1100: Solids phase ',i2,
' has a specified ', &
453 'volumetric flow rate',/
'at BC ',i3,
', ',a,
'. But, both ',&
454 'BC_ROP_s and BC_EP_s are zero or undefined.',/
'Please ',&
455 'the mfix.dat file.')
458 CASE (mass_inflow); sgn =
one; off =
zero 459 CASE (mass_outflow); sgn = -
one; off =
one 461 write(*,*)
'error in SOLIDS_VOLFLOW_TO_VELOCITY' 466 CASE (
'W'); sgn = -sgn
467 CASE (
'S'); sgn = -sgn
468 CASE (
'B'); sgn = -sgn
482 1101
FORMAT(
'Error 1101: BC No:',i2,
' Non-zero vol. or mass flow ',&
483 'specified with BC_ROP_s', i1,
' = 0.')
527 1300
FORMAT(/1
x,70(
'*')//
' From: FLOW_TO_VEL',/
' Message: BC No:',i2,/,
528 ' Computed velocity is not equal to specified value',/,&
529 ' Value computed from vol. or mass flow = ',g14.7,/,&
530 ' Specified value (',a,i1,
') = ',g14.7,/1
x,70(
'*')/)
586 DOUBLE PRECISION :: VOLFLOW
588 DOUBLE PRECISION :: VEL
590 DOUBLE PRECISION :: EPS
592 LOGICAL :: CONVERTED,DO_VEL_CHECK
594 DOUBLE PRECISION :: MW
598 DOUBLE PRECISION :: BC_ROs
731 (-vel),
'BC_U_g',
bc_u_g(bcv)
737 vel,
'BC_U_g',
bc_u_g(bcv)
760 (-vel),
'BC_U_g',
bc_u_g(bcv)
777 (-vel),
'BC_V_g',
bc_v_g(bcv)
806 (-vel),
'BC_V_g',
bc_v_g(bcv)
823 (-vel),
'BC_W_g',
bc_w_g(bcv)
852 (-vel),
'BC_W_g',
bc_w_g(bcv)
869 IF (.NOT.discrete_element .OR. (discrete_element &
870 .AND. des_continuum_hybrid).OR. (discrete_element &
957 ELSEIF (
smax == 1 .AND. &
958 .NOT.des_continuum_hybrid)
THEN 996 IF (eps /=
zero)
THEN 1029 (-vel),
'BC_U_s', m,
bc_u_s(bcv,m)
1035 vel,
'BC_U_s', m,
bc_u_s(bcv,m)
1052 vel,
'BC_U_s', m,
bc_u_s(bcv,m)
1058 (-vel),
'BC_U_s', m,
bc_u_s(bcv,m)
1075 (-vel),
'BC_V_s', m,
bc_v_s(bcv,m)
1081 vel,
'BC_V_s', m,
bc_v_s(bcv,m)
1098 vel,
'BC_V_s', m,
bc_v_s(bcv,m)
1104 (-vel),
'BC_V_s', m,
bc_v_s(bcv,m)
1121 (-vel),
'BC_W_s', m,
bc_w_s(bcv,m)
1127 vel,
'BC_W_s', m,
bc_w_s(bcv,m)
1144 vel,
'BC_W_s', m,
bc_w_s(bcv,m)
1150 (-vel),
'BC_W_s', m,
bc_w_s(bcv,m)
1180 1000
FORMAT(/1
x,70(
'*')//
' From: FLOW_TO_VEL',/
' Message: BC No:',i2,/,
1181 ' Computed volumetric flow is not equal to specified value',/,&
1182 ' Value computed from mass flow = ',g14.7,/,&
1183 ' Specified value (BC_VOLFLOW_g) = ',g14.7,/1
x,70(
'*')/)
1184 1010
FORMAT(/1
x,70(
'*')//
' From: FLOW_TO_VEL',/
' Message: BC No:',i2,&
1185 ' BC_P_g, BC_T_g, and BC_X_g or',/
' a nonzero value for ',a,&
1186 ' should be specified',/1
x,70(
'*')/)
1187 1020
FORMAT(/1
x,70(
'*')//
' From: FLOW_TO_VEL',/
' Message: BC No:',i2,&
1188 ' BC_P_g, BC_T_g, and BC_X_g',/
' should be specified',/1
x,70(
'*' 1189 FORMAT(/1
x,70(
'*')//
' From: FLOW_TO_VEL',/
' Message: BC No:',i2,/,
1190 ' Computed velocity is not equal to specified value',/,&
1191 ' Value computed from vol. or mass flow = ',g14.7,/,&
1192 ' Specified value (',a,
') = ',g14.7,/1
x,70(
'*')/)
1193 1200
FORMAT(/1
x,70(
'*')//
' From: FLOW_TO_VEL',/
' Message: BC No:',i2,/,
1194 ' Computed volumetric flow is not equal to specified value',/,&
1195 ' Value computed from mass flow = ',g14.7,/,&
1196 ' Specified value (BC_VOLFLOW_s',i1,
') = ',g14.7,/1
x,70(
'*')/)
1197 1250
FORMAT(/1
x,70(
'*')//
' From: FLOW_TO_VEL',/
' Message: BC No:',i2,/,
1198 ' Non-zero vol. or mass flow specified with BC_ROP_s',&
1199 i1,
' = 0.',/1
x,70(
'*')/)
1200 1260
FORMAT(/1
x,70(
'*')//
' From: FLOW_TO_VEL',/
' Message: BC No:',i2,/,
1201 ' BC_ROP_s',i1,
' not specified',/1
x,70(
'*')/)
1202 1300
FORMAT(/1
x,70(
'*')//
' From: FLOW_TO_VEL',/
' Message: BC No:',i2,/,
1203 ' Computed velocity is not equal to specified value',/,&
1204 ' Value computed from vol. or mass flow = ',g14.7,/,&
1205 ' Specified value (',a,i1,
') = ',g14.7,/1
x,70(
'*')/)
1206 1500
FORMAT(/1
x,70(
'*')//
' From: FLOW_TO_VEL',/&
1207 ' Message: Some volumetric or mass flow rates have been',/&
1208 ' converted to velocity values. In 2D simulations ensure',/&
1209 ' that the third (unused) dimension is correctly specified;',
1210 ' e.g. in axisymmetric cylindrical coordinates ZLENGTH = 2*Pi' 1213 1401
FORMAT(//1
x,70(
'*')/
' From: FLOW_TO_VEL',/,
' Error 1401:', &
1214 ' Solids phase ',i2,
' failed sanity check in BC region ',i3, &
1215 '. ',/
' Please check mfix.dat file.',/1
x,70(
'*')//)
subroutine flow_to_vel_new(DO_VEL_CHECK, M_TOT, SKIP, BCV)
double precision, dimension(dimension_bc) bc_volflow_g
character(len=32) function ivar(VAR, i1, i2, i3)
double precision, dimension(dimension_bc) bc_t_g
logical function compare(V1, V2)
double precision, parameter one
double precision, dimension(dimension_bc, dim_m) bc_w_s
subroutine gas_volflow_to_velocity(DO_VEL_CHECK, BCV)
double precision, dimension(dimension_bc, dim_m, dim_n_s) bc_x_s
subroutine gas_massflow_to_volflow(BCV)
logical, dimension(dim_m) solve_ros
integer, parameter dimension_bc
integer, dimension(dimension_bc) bc_type_enum
double precision, dimension(dim_m, dim_n_s) x_s0
double precision, parameter undefined
double precision function calc_mw(X_G, DIM, L, NMAX, MW_G)
double precision, dimension(dim_n_g) mw_g
double precision, dimension(dimension_bc) bc_v_g
character, dimension(dimension_bc) bc_plane
subroutine init_err_msg(CALLER)
double precision, dimension(dimension_bc, dim_m) bc_volflow_s
double precision function eosg(MW, PG, TG)
subroutine mfix_exit(myID, normal_termination)
double precision function eoss(pBase, Xs0_INERT, Xs_INERT)
integer, dimension(dim_m) inert_species
logical, dimension(dimension_bc) bc_defined
double precision, dimension(dimension_bc) bc_p_g
integer, parameter unit_log
double precision, dimension(dimension_bc, dim_m) bc_v_s
subroutine flow_to_vel(DO_VEL_CHECK)
double precision, dimension(dimension_bc) bc_massflow_g
integer, dimension(0:dim_m) nmax
double precision, dimension(dimension_bc, dim_m) bc_massflow_s
double precision, dimension(dimension_bc) bc_u_g
double precision, dimension(dimension_bc, dim_m) bc_u_s
character(len=line_length), dimension(line_count) err_msg
subroutine solids_volflow_to_velocity(DO_VEL_CHECK, BCV, M, SKIP_M
double precision, dimension(dimension_bc, dim_n_g) bc_x_g
double precision, dimension(dimension_bc) bc_ep_g
double precision, dimension(dim_m) ro_s0
subroutine solids_massflow_to_volflow(BCV, M, SKIP_M)
double precision, dimension(dimension_bc) bc_w_g
double precision, dimension(dimension_bc, dim_m) bc_ep_s
double precision, dimension(:), allocatable x
double precision, parameter zero
subroutine flush_err_msg(DEBUG, HEADER, FOOTER, ABORT, LOG, CALL_TREE)
double precision, dimension(dimension_bc, dim_m) bc_rop_s
double precision, dimension(dimension_bc) bc_area