31 INTEGER,
INTENT(IN) :: BCV
48 INTEGER :: I_FLUID, IJK_FLUID
49 INTEGER :: I_WALL, IJK_WALL
60 owner = merge(
mype, 0, is_on_mype_owns(i_w, j_s, k_b))
63 IF(
mype == owner)
THEN 65 ijk = funijk(i_w, j_s, k_b)
66 ipjk = funijk(i_w+1, j_s, k_b)
69 IF(wall_icbc_flag(ijk) .AND.
icbc_flag(ipjk)(1:1)==
'.')
THEN 75 ELSEIF(wall_icbc_flag(ipjk) .AND.
icbc_flag(ijk)(1:1)==
'.')
THEN 87 CALL bcast(i_w, owner)
88 CALL bcast(i_e, owner)
94 CALL bcast(ipjk,owner)
95 CALL bcast(ijk, owner)
97 WRITE(
err_msg, 1100) bcv, i_w, i_e, j_s, k_b, &
102 1100
FORMAT(
'Error 1100: Cannot locate flow plane for boundary ', &
103 'condition ',i3,
'.',2/3x,
'I West = ',i6,
' I East = ',i6,/&
104 3x,
'J South = ',i6,
' K Bottom = ',i6,2/
' The following ', &
105 'should conttain a wall cell and fluid cell:',/3x,
'IJK ',i9, &
106 ' :: ',a3,/3x,
'IPJK ',i9,
' :: ',a3,2/
' Maybe no IC was ', &
107 'specified for the fluid cell.')
115 i_fluid = merge(i_wall-1, i_wall+1,
bc_plane(bcv)==
'W')
121 DO k = bc_k_b(bcv), bc_k_t(bcv)
122 DO j = bc_j_s(bcv), bc_j_n(bcv)
124 IF(.NOT.is_on_mype_plus2layers(i_fluid,j,k)) cycle
125 IF(.NOT.is_on_mype_plus2layers(i_wall, j,k)) cycle
129 ijk_wall = funijk(i_wall,j,k)
130 ijk_fluid = funijk(i_fluid,j,k)
133 IF(.NOT.(wall_icbc_flag(ijk_wall) .AND. &
134 icbc_flag(ijk_fluid)(1:1) ==
'.')) error = .true.
152 DO k = bc_k_b(bcv), bc_k_t(bcv)
153 DO j = bc_j_s(bcv), bc_j_n(bcv)
155 IF(.NOT.is_on_mype_plus2layers(i_fluid,j,k)) cycle
156 IF(.NOT.is_on_mype_plus2layers(i_wall, j,k)) cycle
160 ijk_wall = funijk(i_wall,j,k)
161 ijk_fluid = funijk(i_fluid,j,k)
163 IF(.NOT.(wall_icbc_flag(ijk_wall) .AND. &
167 i_wall, j, k, ijk_wall,
icbc_flag(ijk_wall), &
168 i_fluid, j, k, ijk_fluid,
icbc_flag(ijk_fluid)
174 WRITE(
err_msg,
"('Please correct the mfix.dat file.')")
180 1200
FORMAT(
'Error 1200: Illegal geometry for boundary condition:',i3)
182 1201
FORMAT(
' ',/14x,
'I',7x,
'J',7x,
'K',7x,
'IJK',4x,
'FLAG',/3x, &
183 'WALL ',3(2x,i6),2x,i9,3x,a,/3x,
'FLUID',3(2x,i6),2x,i9,3x,a)
integer, dimension(dimension_bc) bc_k_b
integer, dimension(dimension_bc) bc_i_w
integer, dimension(dimension_bc) bc_j_n
character(len=3), dimension(:), pointer icbc_flag
character, dimension(dimension_bc) bc_plane
subroutine init_err_msg(CALLER)
integer, dimension(dimension_bc) bc_k_t
logical, dimension(:,:,:), allocatable dead_cell_at
integer, dimension(dimension_bc) bc_j_s
character(len=line_length), dimension(line_count) err_msg
subroutine open_pe_log(IER)
integer, dimension(dimension_bc) bc_i_e
subroutine flush_err_msg(DEBUG, HEADER, FOOTER, ABORT, LOG, CALL_TREE)