26 DOUBLE PRECISION,
INTENT(OUT) :: DEL_PHI(3,
dimension_3)
62 use fun_avg, only: avg_x, avg_y, avg_z
72 DOUBLE PRECISION,
INTENT(OUT) :: DEL_PHI(3,
dimension_3)
77 INTEGER :: I, J, K, IJK
78 INTEGER :: IPJK, IJPK, IJKP, IMJK, IJMK, IJKM
84 IF(.NOT.fluid_at(ijk)) cycle
90 IF(imin1 ==
imax1)
THEN 91 ELSEIF((i>imin1).AND.(i<
imax1))
THEN 92 del_phi(1,ijk) = odx(i)*(avg_x(phi(ijk),phi(ipjk),i) - &
93 avg_x(phi(imjk),phi(ijk),i-1))
94 ELSEIF(i == imin1)
THEN 95 del_phi(1,ijk) = 2.0d0*odx(i) * &
96 (avg_x(phi(ijk),phi(ipjk),i) - phi(ijk))
97 ELSEIF(i ==
imax1)
THEN 98 del_phi(1,ijk) = 2.0d0*odx(i) * &
99 (phi(ijk) - avg_x(phi(imjk), phi(ijk), i-1))
101 del_phi(1,ijk) =
zero 109 IF(jmin1 ==
jmax1)
THEN 110 ELSEIF((j>jmin1) .AND. (j<
jmax1))
THEN 111 del_phi(2,ijk) = ody(j)*(avg_y(phi(ijk),phi(ijpk),j) - &
112 avg_y(phi(ijmk),phi(ijk),j-1))
113 ELSEIF(j == jmin1)
THEN 114 del_phi(2,ijk) = 2.0d0*ody(j) * &
115 (avg_y(phi(ijk),phi(ijpk),j) - phi(ijk))
116 ELSEIF(j ==
jmax1)
THEN 117 del_phi(2,ijk) = 2.0d0*ody(j) * &
118 (phi(ijk)- avg_y(phi(ijmk),phi(ijk),j-1))
120 del_phi(2,ijk) =
zero 129 IF(kmin1 ==
kmax1)
THEN 130 ELSEIF((k>kmin1) .AND. (k<
kmax1))
THEN 131 del_phi(3,ijk) = odz(k)*(avg_z(phi(ijk),phi(ijkp),k) - &
132 avg_z(phi(ijkm),phi(ijk),k-1))
133 ELSEIF(k == kmin1)
THEN 134 del_phi(3,ijk) = 2.0d0*odz(k) * &
135 (avg_z(phi(ijk),phi(ijkp),k) - phi(ijk))
136 ELSEIF(k ==
kmax1)
THEN 137 del_phi(3,ijk) = 2.0d0*odz(k) * &
138 (phi(ijk) - avg_z(phi(ijkm),phi(ijk),k-1))
177 DOUBLE PRECISION,
INTENT(OUT) :: DEL_PHI(3,
dimension_3)
182 INTEGER :: I, J, K, IJK
183 INTEGER :: IJKE, IJKW, IJKN, IJKS, IJKT, IJKB
185 DOUBLE PRECISION :: dLC
194 del_phi(:,ijk) =
zero 196 IF(.NOT.fluid_at(ijk)) cycle
202 IF(fluid_at(ijke))
THEN 203 del_phi(1,ijk) = del_phi(1,ijk) + &
204 2.0d0*(phi(ijke) - phi(ijk))/(
dx(i) +
dx(
i_of(ijke)))
207 IF(fluid_at(ijkw))
THEN 208 del_phi(1,ijk) = del_phi(1,ijk) + &
209 2.0d0*(phi(ijk) - phi(ijkw))/(
dx(i) +
dx(
i_of(ijkw)))
212 del_phi(1,ijk) = del_phi(1,ijk)/max(1.0d0,dlc)
219 IF(fluid_at(ijkn))
THEN 220 del_phi(2,ijk) = del_phi(2,ijk) + &
221 2.0d0*(phi(ijkn) - phi(ijk))/(
dy(j) +
dy(
j_of(ijkn)))
225 IF(fluid_at(ijks))
THEN 226 del_phi(2,ijk) = del_phi(2,ijk) + &
227 2.d0*(phi(ijk) - phi(ijks))/(
dy(j) +
dy(
j_of(ijks)))
230 del_phi(2,ijk) = del_phi(2,ijk)/max(1.0d0, dlc)
238 IF(fluid_at(ijkt))
THEN 239 del_phi(3,ijk) = del_phi(3,ijk) + &
240 2.0d0*(phi(ijkt) - phi(ijk))/(
dz(k) +
dz(
k_of(ijkt)))
243 IF(fluid_at(ijkb))
THEN 244 del_phi(3,ijk) = del_phi(3,ijk) + &
245 2.0d0*(phi(ijk) - phi(ijkb))/(
dz(k) +
dz(
k_of(ijkb)))
248 del_phi(3,ijk) = del_phi(3,ijk)/max(1.0d0, dlc)
integer, dimension(:), allocatable i_of
subroutine calc_grad_des_cg(PHI, DEL_PHI)
double precision, dimension(:), allocatable ody
double precision, dimension(:), allocatable odx
double precision, dimension(0:dim_j) dy
double precision, dimension(0:dim_k) dz
integer, dimension(:), allocatable k_of
integer, dimension(:), allocatable j_of
double precision, dimension(0:dim_i) dx
double precision, dimension(:), allocatable odz
subroutine calc_grad_des(PHI, DEL_PHI)
double precision, parameter zero
subroutine calc_grad_des_std(PHI, DEL_PHI)