30 INTEGER,
INTENT(IN) :: M
41 INTEGER :: I, J, K, I1, I2, J1, J2, K1, K2, IJK, &
56 IF (.NOT.is_on_mype_plus2layers(i1,j1,k1)) cycle
58 ijk = funijk(i1,j1,k1)
59 IF (default_wall_at(ijk))
THEN 75 IF (.NOT.is_on_mype_plus2layers(i1,j1,k1)) cycle
77 ijk = funijk(i1,j1,k1)
78 IF (default_wall_at(ijk))
THEN 94 IF (.NOT.is_on_mype_plus2layers(i1,j1,k1)) cycle
96 ijk = funijk(i1,j1,k1)
97 IF (default_wall_at(ijk))
THEN 113 IF (.NOT.is_on_mype_plus2layers(i1,j1,k1)) cycle
115 ijk = funijk(i1,j1,k1)
116 IF (default_wall_at(ijk))
THEN 133 IF (.NOT.is_on_mype_plus2layers(i1,j1,k1)) cycle
135 ijk = funijk(i1,j1,k1)
137 IF (default_wall_at(ijk))
THEN 154 IF (.NOT.is_on_mype_plus2layers(i1,j1,k1)) cycle
156 ijk = funijk(i1,j1,k1)
157 IF (default_wall_at(ijk))
THEN 188 IF (.NOT.is_on_mype_plus2layers(i,j,k)) cycle
200 IF (fluid_at(east_of(ijk)))
THEN 201 a_m(ijk,0,m) = -
odx_e(i)
204 ELSEIF (fluid_at(west_of(ijk)))
THEN 207 a_m(ijk,0,m) = -
odx_e(im)
209 ELSEIF (fluid_at(north_of(ijk)))
THEN 210 a_m(ijk,0,m) = -
ody_n(j)
213 ELSEIF (fluid_at(south_of(ijk)))
THEN 216 a_m(ijk,0,m) = -
ody_n(jm)
218 ELSEIF (fluid_at(top_of(ijk)))
THEN 222 ELSEIF (fluid_at(bottom_of(ijk)))
THEN 225 a_m(ijk,0,m) = -
ox(i)*
odz_t(km)
277 INTEGER,
INTENT(IN) :: M
286 INTEGER :: I, J, K, IJK, IM, JM, KM
288 LOGICAL :: ALONG_GLOBAL_GHOST_LAYER
298 along_global_ghost_layer = (i <
imin1) .OR. ( i>
imax1 ) &
301 IF(
do_k) along_global_ghost_layer = along_global_ghost_layer &
308 b_m(ijk,m) = -phi(ijk)
315 IF(
bc_id(ip_of(ijk)) > 0 )
THEN 316 a_m(ijk,0,m) = -
odx_e(i)
322 IF(
bc_id(im_of(ijk)) > 0 )
THEN 325 a_m(ijk,0,m) = -
odx_e(im)
330 IF(
bc_id(jp_of(ijk)) > 0 )
THEN 331 a_m(ijk,0,m) = -
ody_n(j)
337 IF(
bc_id(jm_of(ijk)) > 0 )
THEN 340 a_m(ijk,0,m) = -
ody_n(jm)
345 IF(
bc_id(kp_of(ijk)) > 0 )
THEN 352 IF(
bc_id(km_of(ijk)) > 0 )
THEN 355 a_m(ijk,0,m) = -
ox(i)*
odz_t(km)
integer, dimension(dimension_bc) bc_k_b
integer, dimension(:), allocatable i_of
double precision, parameter one
integer, dimension(dimension_bc) bc_i_w
integer, dimension(dimension_bc) bc_j_n
integer, dimension(:), allocatable im1
integer, dimension(10) cg_safe_mode
integer, parameter dimension_bc
integer, dimension(:), allocatable k_of
subroutine dif_phi_bc_des_cg(PHI, M, A_M, B_M)
double precision, dimension(:), allocatable ody_n
integer, dimension(dimension_bc) bc_k_t
logical, dimension(:,:,:), allocatable dead_cell_at
integer, dimension(:), allocatable j_of
double precision, dimension(:), allocatable odx_e
integer, dimension(:), allocatable jm1
integer, dimension(dimension_bc) bc_j_s
double precision, dimension(:), allocatable ox
logical, dimension(dimension_bc) bc_defined
logical, dimension(:), allocatable cut_cell_at
integer, dimension(:), allocatable km1
integer, dimension(:), allocatable bc_id
logical, dimension(:), allocatable blocked_cell_at
double precision, dimension(:), allocatable odz_t
integer, dimension(dimension_bc) bc_i_e
double precision, parameter zero
subroutine dif_phi_bc_des(PHI, M, A_M, B_M)