27 INTEGER,
INTENT(in) :: BCV
40 INTEGER :: K_FLUID, IJK_FLUID
41 INTEGER :: K_WALL, IJK_WALL
56 owner = merge(
mype, 0, is_on_mype_owns(i_w, j_s, k_b))
59 IF(
mype == owner)
THEN 61 ijk = funijk(i_w, j_s, k_b)
62 ijkp = funijk(i_w, j_s, k_b+1)
64 IF(wall_icbc_flag(ijk) .AND.
icbc_flag(ijkp)(1:1)==
'.')
THEN 68 ELSEIF(wall_icbc_flag(ijkp) .AND.
icbc_flag(ijk)(1:1)==
'.')
THEN 84 CALL bcast(ijkp,owner)
85 CALL bcast(ijk, owner)
87 WRITE(
err_msg, 1100) bcv, k_b, k_t, i_w, j_s, &
92 1100
FORMAT(
'Error 1100: Cannot locate flow plane for boundary ', &
93 'condition ',i3,
'.',2/3x,
'K Bottom = ',i6,
' K Top = ',i6,/&
94 3x,
'I West = ',i6,
' J South = ',i6,2/
' The following ', &
95 'should conttain a wall cell and fluid cell:',/3x,
'IJK ',i9, &
96 ' :: ',a3,/3x,
'IJKP ',i9,
' :: ',a3,2/
' Maybe no IC was ', &
97 'specified for the fluid cell.')
105 k_fluid = merge(k_wall-1, k_wall+1,
bc_plane(bcv)==
'B')
109 DO j = bc_j_s(bcv), bc_j_n(bcv)
110 DO i = bc_i_w(bcv), bc_i_e(bcv)
113 IF(.NOT.is_on_mype_plus2layers(i,j,k_fluid)) cycle
114 IF(.NOT.is_on_mype_plus2layers(i,j,k_wall )) cycle
118 ijk_wall = funijk(i,j,k_wall)
119 ijk_fluid = funijk(i,j,k_fluid)
121 IF(.NOT.(wall_icbc_flag(ijk_wall) .AND. &
122 icbc_flag(ijk_fluid)(1:1)==
'.')) error = .true.
139 1200
FORMAT(
'Error 1200: Illegal geometry for boundary condition:',i3)
141 DO j = bc_j_s(bcv), bc_j_n(bcv)
142 DO i = bc_i_w(bcv), bc_i_e(bcv)
145 IF(.NOT.is_on_mype_plus2layers(i,j,k_fluid)) cycle
146 IF(.NOT.is_on_mype_plus2layers(i,j,k_wall )) cycle
150 ijk_wall = funijk(i,j,k_wall)
151 ijk_fluid = funijk(i,j,k_fluid)
153 IF(.NOT.(wall_icbc_flag(ijk_wall) .AND. &
157 i, j, k_wall, ijk_wall,
icbc_flag(ijk_wall), &
158 i, j, k_fluid, ijk_fluid,
icbc_flag(ijk_fluid)
162 1201
FORMAT(
' ',/14x,
'I',7x,
'J',7x,
'K',7x,
'IJK',4x,
'FLAG',/3x, &
163 'WALL ',3(2x,i6),2x,i9,3x,a,/3x,
'FLUID',3(2x,i6),2x,i9,3x,a)
168 WRITE(
err_msg,
"('Please correct the mfix.dat file.')")
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)