44 INTEGER :: I, J, K, IJK
54 icbc_flag(ijk) = merge(
' ',
'.--',
run_type ==
'NEW')
59 IF(k==kmin3 .OR. k==kmin2 .OR. k==kmax2 .OR. k==kmax3)
THEN 61 icbc_flag(ijk) =
'C--' 62 ELSEIF (cyclic_z)
THEN 63 icbc_flag(ijk) =
'c--' 65 icbc_flag(ijk) =
'W--' 71 IF(j==jmin3 .OR. j==jmin2 .OR. j==jmax2 .OR. j==jmax3)
THEN 73 icbc_flag(ijk) =
'C--' 74 ELSEIF (cyclic_y)
THEN 75 icbc_flag(ijk) =
'c--' 77 icbc_flag(ijk) =
'W--' 83 IF(i==imin3 .OR. i==imin2 .OR. i==imax2 .OR. i==imax3)
THEN 85 icbc_flag(ijk) =
'C--' 86 ELSEIF (cyclic_x)
THEN 87 icbc_flag(ijk) =
'c--' 89 icbc_flag(ijk) =
'W--' 92 IF (i==1 .AND. cylindrical .AND. xmin==
zero) &
93 icbc_flag(ijk) =
'S--' 96 IF ((i==imin3 .OR. i==imin2 .OR. i==imax2 .OR. i==imax3) .AND.
99 IF (icbc_flag(ijk) /=
'S--') icbc_flag(ijk) =
'W--' 134 LOGICAL :: ERROR = .false.
136 INTEGER :: I, J ,K, IER
145 DO k = kstart2, kend2
146 DO j = jstart2, jend2
147 DO i = istart2, iend2
148 IF(icbc_flag(funijk(i,j,k)) ==
' ') error = .true.
166 DO k = kstart2, kend2
167 DO j = jstart2, jend2
168 DO i = istart2, iend2
169 IF(icbc_flag(funijk(i,j,k)) ==
' ')
THEN 191 1100
FORMAT(
'Error 1100 (PE ',a,
') : No initial or boundary ', &
192 'condtions specified in',
'the following cells:',/ &
195 1101
FORMAT(i5,3x,i5,3x,i5)
197 1102
FORMAT(
'Please correct the mfix.dat file.')
233 INTEGER :: I, J, K, IJK
240 IF(.NOT.ic_defined(icv)) cycle ic_lp
243 IF (ic_type(icv) ==
'PATCH') cycle ic_lp
247 DO j = ic_j_s(icv), ic_j_n(icv)
248 DO i = ic_i_w(icv), ic_i_e(icv)
249 IF(.NOT.is_on_mype_plus2layers(i,j,k)) cycle
250 IF(dead_cell_at(i,j,k)) cycle
252 WRITE(icbc_flag(ijk)(1:3),
"('.',I2.2)") mod(icv,100)
301 INTEGER :: I , J , K , IJK
321 IF(.NOT.is_on_mype_plus2layers(i,j,k)) cycle
327 CASE(free_slip_wall);
icbc_flag(ijk)(1:1) =
'S' 328 CASE(no_slip_wall);
icbc_flag(ijk)(1:1) =
'W' 329 CASE(par_slip_wall);
icbc_flag(ijk)(1:1) =
's' 331 WRITE (
icbc_flag(ijk)(2:3),
"(I2.2)") mod(bcv,100)
379 INTEGER :: BCV, I, J, K, IJK
386 LOGICAL :: X_CONSTANT, Y_CONSTANT, Z_CONSTANT
442 IF(.NOT.is_on_mype_plus2layers(i,j,k)) cycle
448 IF(wall_icbc_flag(ijk))
THEN 451 CASE (p_outflow);
icbc_flag(ijk)(1:1) =
'P' 452 CASE (mass_inflow);
icbc_flag(ijk)(1:1) =
'I' 453 CASE (mass_outflow);
icbc_flag(ijk)(1:1) =
'O' 454 CASE (outflow);
icbc_flag(ijk)(1:1) =
'o' 455 CASE (p_inflow);
icbc_flag(ijk)(1:1) =
'p' 458 WRITE(
icbc_flag(ijk)(2:3),
"(I2.2)") mod(bcv,100)
479 1200
FORMAT(
'Error 1200: Boundary condition ',i3,
' overlaps with ',&
480 'another BC.',2/7
x,
'I',7
x,
'J',7
x,
'K',3
x,
'ICBC')
486 IF(.NOT.is_on_mype_plus2layers(i,j,k)) cycle
492 IF(.NOT.wall_icbc_flag(ijk))
THEN 497 1201
FORMAT(1
x,3(2
x,i6),3
x,a3)
503 WRITE(
err_msg,
"('Please correct the mfix.dat file.')")
integer, dimension(dimension_bc) bc_k_b
double precision, dimension(dimension_bc) bc_y_n
integer, parameter dimension_ic
integer, dimension(dimension_ic) ic_j_s
integer, dimension(dimension_bc) bc_i_w
integer, dimension(dimension_bc) bc_j_n
integer, dimension(dimension_ic) ic_j_n
logical, dimension(dimension_ic) ic_defined
integer, parameter dimension_bc
integer, dimension(dimension_bc) bc_type_enum
double precision, dimension(dimension_bc) bc_x_e
double precision, parameter undefined
character(len=16), dimension(dimension_ic) ic_type
character(len=3), dimension(:), pointer icbc_flag
double precision, dimension(dimension_bc) bc_y_s
subroutine init_err_msg(CALLER)
subroutine check_icbc_flag
integer, dimension(dimension_ic) ic_i_w
integer, dimension(dimension_bc) bc_k_t
logical, dimension(:,:,:), allocatable dead_cell_at
integer, dimension(dimension_ic) ic_i_e
subroutine set_bc_flags_wall
integer, dimension(dimension_ic) ic_k_b
integer, dimension(dimension_bc) bc_j_s
character(len=16) run_type
logical, dimension(dimension_bc) bc_defined
integer, dimension(dimension_ic) ic_k_t
subroutine init_icbc_flag
double precision, dimension(dimension_bc) bc_z_b
character(len=line_length), dimension(line_count) err_msg
double precision, dimension(dimension_bc) bc_z_t
subroutine set_bc_flags_flow
subroutine open_pe_log(IER)
integer, dimension(dimension_bc) bc_i_e
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) bc_x_w