30 INTEGER,
INTENT(IN) :: M
41 INTEGER :: I, J, K, IJK
42 INTEGER :: IMJK, IM, IJKW, IPJK, IJKE
43 INTEGER :: IJMK, JM, IJKS, IJPK, IJKN
44 INTEGER :: IJKM, KM, IJKB, IJKP, IJKT
47 DOUBLE PRECISION :: D_f
57 IF(.NOT.fluid_at(ijk)) cycle
66 d_f = avg_x_h(dif(ijk),dif(ijke),i)*
odx_e(i)*
ayz(ijk)
69 d_f = avg_x_h(dif(ijk),dif(ijke),i)*
odx_e(i)*
dy(j)*
dz(k)
74 a_m(ipjk,
west,m) = d_f
78 IF (.NOT.fluid_at(imjk))
THEN 81 d_f = avg_x_h(dif(ijkw),dif(ijk),im)*
odx_e(im)*
ayz(imjk)
84 d_f = avg_x_h(dif(ijkw),dif(ijk),im)*
odx_e(im)*
dy(j)*
dz 92 d_f = avg_y_h(dif(ijk),dif(ijkn),j)*
ody_n(j)*
axz(ijk)
95 d_f = avg_y_h(dif(ijk),dif(ijkn),j)*
ody_n(j)*
dx(i)*
dz(k)
98 a_m(ijk,
north,m) = d_f
99 a_m(ijpk,
south,m) = d_f
103 IF (.NOT.fluid_at(ijmk))
THEN 106 d_f = avg_y_h(dif(ijks),dif(ijk),jm)*
ody_n(jm)*
axz(ijmk)
108 IF(
cut_cell_at(ijk).AND.(.NOT.fluid_at(ijmk)))
THEN 109 d_f = avg_y_h(dif(ijks),dif(ijk),jm)*
ody_n(jm)*
dx(i)*
dz 112 a_m(ijk,
south,m) = d_f
120 d_f = avg_z_h(dif(ijk),dif(ijkt),k)*
ox(i)*
odz_t(k)*
axy(ijk)
122 IF(
cut_cell_at(ijk).AND.(.NOT.fluid_at(ijkp)))
THEN 123 d_f = avg_z_h(dif(ijk),dif(ijkt),k)*
ox(i)*
odz_t(k)*
dx(i
132 IF (.NOT.fluid_at(ijkm))
THEN 134 ijkb = bottom_of(ijk)
135 d_f = avg_z_h(dif(ijkb),dif(ijk),km)*
ox(i)*
odz_t(km)*
axy(ijkm
137 IF(
cut_cell_at(ijk).AND.(.NOT.fluid_at(ijkm)))
THEN 138 d_f = avg_z_h(dif(ijkb),dif(ijk),km)*
ox(i)*
odz_t(km
subroutine dif_phi_des(M, DIF, A_M, B_M)
integer, dimension(:), allocatable i_of
double precision, dimension(:), allocatable axy
integer, dimension(:), allocatable im1
double precision, dimension(0:dim_j) dy
double precision, dimension(0:dim_k) dz
double precision, dimension(:), allocatable ayz
subroutine dif_phi_is(DIF, A_M, M)
integer, dimension(:), allocatable k_of
double precision, dimension(:), allocatable ody_n
integer, dimension(:), allocatable j_of
double precision, dimension(:), allocatable odx_e
integer, dimension(:), allocatable jm1
double precision, dimension(:), allocatable ox
double precision, dimension(0:dim_i) dx
logical, dimension(:), allocatable cut_treatment_at
double precision, dimension(:), allocatable axz
logical, dimension(:), allocatable cut_cell_at
integer, dimension(:), allocatable km1
double precision, dimension(:), allocatable odz_t