20 DOUBLE PRECISION FUNCTION g_0avg (IJK1, IJK2, DIR, L, M1, M2)
24 use discretelement
, only: des_mmax
41 INTEGER,
INTENT(IN) :: IJK1, IJK2
43 CHARACTER,
INTENT(IN) :: DIR
45 INTEGER,
INTENT(IN) :: L
47 INTEGER,
INTENT(IN) :: M1
49 INTEGER,
INTENT(IN) :: M2
56 DOUBLE PRECISION :: EPS
58 DOUBLE PRECISION :: EPg, EPg_STAR_AVG
60 DOUBLE PRECISION :: EPSoDP
62 DOUBLE PRECISION :: SUM_EPS
64 DOUBLE PRECISION :: NU_MM
66 DOUBLE PRECISION :: VOLP
68 DOUBLE PRECISION :: XI
70 DOUBLE PRECISION :: DP_AVG_M1, DP_AVG_M2, DP_AVG
75 SELECT CASE(rdf_type_enum)
84 DO mx = 1, des_mmax+
mmax 86 epsodp = epsodp + 2d0*eps / (
d_p(ijk1,mx)+
d_p(ijk2,mx))
90 g_0avg =
one / epg + 3.0d0*epsodp*dp_avg_m1*dp_avg_m2 / &
91 (epg*epg *(dp_avg_m1 + dp_avg_m2))
96 CASE(modified_lebowitz)
102 DO mx = 1, des_mmax+
mmax 105 epsodp = epsodp + eps/dp_avg
106 sum_eps = sum_eps + eps
116 IF(sum_eps >= (
one-epg_star_avg)) &
121 ((dp_avg_m1*dp_avg_m2)/(dp_avg_m1+dp_avg_m2))*epsodp
136 DO mx = 1, des_mmax+
mmax 138 sum_eps = sum_eps + eps
141 volp = (
pi/6.0d0)*dp_avg**3
143 IF(dp_avg >
zero)
THEN 145 xi = xi + nu_mm*dp_avg*dp_avg
152 ( (dp_avg_m1*dp_avg_m2)/(dp_avg_m1+dp_avg_m2) )* &
153 ( xi/((
one-sum_eps)*(
one-sum_eps)) ) + (2.0d0) * &
154 ( (dp_avg_m1*dp_avg_m2)/(dp_avg_m1+dp_avg_m2) ) * &
155 ( (dp_avg_m1*dp_avg_m2)/(dp_avg_m1+dp_avg_m2) ) * &
156 ( (xi*xi)/((
one-sum_eps)*(
one-sum_eps)*(
one-sum_eps)))
162 CASE(modified_mansoori)
169 DO mx = 1, des_mmax+
mmax 171 sum_eps = sum_eps + eps
174 volp = (
pi/6.0d0)*dp_avg**3
176 IF (dp_avg >
zero)
THEN 178 xi = xi + nu_mm*dp_avg*dp_avg
187 IF(sum_eps >= (
one-epg_star_avg)) &
191 ( (dp_avg_m1*dp_avg_m2)/(dp_avg_m1+dp_avg_m2) )* &
192 ( xi/((
one-sum_eps/(
one-epg_star_avg))* &
193 (
one-sum_eps/(
one-epg_star_avg))) ) + (2.0d0) * &
194 ( (dp_avg_m1*dp_avg_m2)/(dp_avg_m1+dp_avg_m2) ) * &
195 ( (dp_avg_m1*dp_avg_m2)/(dp_avg_m1+dp_avg_m2) ) * &
196 ( (xi*xi)/((
one-sum_eps/(
one-epg_star_avg))* &
197 (
one-sum_eps/(
one-epg_star_avg))* &
198 (
one-sum_eps/(
one-epg_star_avg))) )
203 CASE(carnahan_starling)
239 DOUBLE PRECISION FUNCTION g_0 (IJK, M1, M2)
243 use discretelement
, only: des_mmax
260 INTEGER,
INTENT(IN) :: M1
262 INTEGER,
INTENT(IN) :: M2
264 INTEGER,
INTENT(IN) :: IJK
271 DOUBLE PRECISION :: EPS
273 DOUBLE PRECISION :: EPg
275 DOUBLE PRECISION :: EPSoDP
277 DOUBLE PRECISION :: SUM_EPS
279 DOUBLE PRECISION :: NU_MM
281 DOUBLE PRECISION :: VOLP
283 DOUBLE PRECISION :: XI
288 DO mm = 1, des_mmax+
mmax 290 sum_eps = sum_eps + eps
293 SELECT CASE(rdf_type_enum)
300 DO mx = 1, des_mmax+
mmax 302 epsodp = epsodp + eps /
d_p(ijk,mx)
306 g_0 =
one/epg + 3.0d0 * epsodp *
d_p(ijk,m1) *
d_p(ijk,m2) / &
307 (epg*epg *(
d_p(ijk,m1) +
d_p(ijk,m2)))
311 CASE(modified_lebowitz)
316 DO mm = 1, des_mmax+
mmax 318 epsodp = epsodp + (eps/
d_p(ijk,mm))
319 sum_eps = sum_eps + eps
329 ((
d_p(ijk,m1)*
d_p(ijk,m2))/(
d_p(ijk,m1)+
d_p(ijk,m2)))*epsodp
340 DO mm = 1, des_mmax+
mmax 342 sum_eps = sum_eps + eps
343 volp = (
pi/6.0d0)*
d_p(ijk,mm)**3.0
347 xi = xi + nu_mm*
d_p(ijk,mm)*
d_p(ijk,mm)
353 ( (
d_p(ijk,m1)*
d_p(ijk,m2))/(
d_p(ijk,m1)+
d_p(ijk,m2)) )* &
354 ( xi/((
one-sum_eps)*(
one-sum_eps)) ) + (2.0d0) * &
355 ( (
d_p(ijk,m1)*
d_p(ijk,m2))/(
d_p(ijk,m1)+
d_p(ijk,m2)) ) * &
356 ( (
d_p(ijk,m1)*
d_p(ijk,m2))/(
d_p(ijk,m1)+
d_p(ijk,m2)) ) * &
357 ( (xi*xi)/((
one-sum_eps)*(
one-sum_eps)*(
one-sum_eps)) )
362 CASE(modified_mansoori)
367 DO mm = 1, des_mmax+
mmax 369 sum_eps = sum_eps + eps
370 volp = (
pi/6.0d0)*
d_p(ijk,mm)**3.0
374 xi = xi + nu_mm*
d_p(ijk,mm)*
d_p(ijk,mm)
383 ( (
d_p(ijk,m1)*
d_p(ijk,m2))/(
d_p(ijk,m1)+
d_p(ijk,m2)) )* &
386 ( (
d_p(ijk,m1)*
d_p(ijk,m2))/(
d_p(ijk,m1)+
d_p(ijk,m2)) ) * &
387 ( (
d_p(ijk,m1)*
d_p(ijk,m2))/(
d_p(ijk,m1)+
d_p(ijk,m2)) ) * &
394 CASE(carnahan_starling)
411 DOUBLE PRECISION FUNCTION dg_0dnu (EPS)
422 DOUBLE PRECISION,
INTENT(IN) :: EPS
438 DOUBLE PRECISION FUNCTION g_0cs (EPS)
449 DOUBLE PRECISION :: EPS
461 DOUBLE PRECISION FUNCTION avg_xyz (V1, V2, DIR, L)
476 CHARACTER,
INTENT(IN) :: DIR
478 INTEGER,
INTENT(IN) :: L
480 DOUBLE PRECISION,
INTENT(IN) :: V1, V2
490 ELSEIF(dir ==
'Y')
THEN 493 ELSEIF(dir ==
'Z')
THEN
double precision, dimension(:), allocatable ep_g
double precision, parameter one
subroutine write_error(NAME, LINE, LMAX)
double precision function dg_0dnu(EPS)
double precision function g_0(IJK, M1, M2)
double precision, dimension(:), allocatable ep_star_array
double precision, dimension(:,:), allocatable d_p
double precision function avg_xyz(V1, V2, DIR, L)
double precision, parameter half
double precision, parameter dil_ep_s
double precision function ep_s(IJK, xxM)
double precision, parameter pi
double precision function g_0avg(IJK1, IJK2, DIR, L, M1, M2)
double precision function g_0cs(EPS)
double precision, parameter zero