27 INTEGER,
INTENT(IN) :: M
32 CALL calc_usr_prop(solids_viscosity,lm=m)
69 INTEGER,
INTENT(IN) :: M
81 IF(fluid_at(ijk) .OR.
use_mms)
THEN 146 USE run, only: kt_type_enum
147 USE run, only: lun_1984
148 USE run, only: simonin_1996
149 USE run, only: ahmadi_1995
150 USE run, only: gd_1999
151 USE run, only: gtsh_2012
152 USE run, only: ia_2005
153 USE run, only: ghd_2007
154 USE run, only: kt_type
156 USE run, only: subgrid_type_enum
157 USE run, only: milioli, igci, undefined_subgrid_type
172 INTEGER,
INTENT(IN) :: M
179 DOUBLE PRECISION :: BLEND
193 IF (.NOT.
qmomk)
THEN 196 IF(.NOT.granular_energy)
THEN 197 IF(subgrid_type_enum .ne. undefined_subgrid_type)
THEN 198 IF (subgrid_type_enum .EQ. igci)
THEN 200 ELSEIF (subgrid_type_enum .EQ. milioli)
THEN 207 SELECT CASE(kt_type_enum)
224 CALL init_err_msg(
"CALC_MU_S")
225 WRITE(err_msg, 1100) kt_type
226 1100
FORMAT(
'ERROR 1100: Invalid KT_TYPE: ', a,
' The check_data ',&
227 'routines should',/,
'have already caught this error and ',&
228 'prevented the simulation from ',/,
'running. Please notify ',&
229 'the MFIX developers.')
252 mu_s_c(:,m) = mu_s_v(:)
253 lambda_s_c(:,m)= lambda_s_v(:)
254 p_s_c(:,m) = p_s_v(:)
260 mu_s(ijk,m) = (
one-blend)*mu_s_p(ijk) &
266 blend*lambda_s_v(ijk)
269 mu_s(:,m) = mu_s_p(:) + mu_s_v(:) + mu_s_f(:)
271 p_s(:,m) = p_s_v(:) +
p_s_f(:)
319 INTEGER,
INTENT(IN) :: M
326 DOUBLE PRECISION :: aq, bq, cq
328 DOUBLE PRECISION :: K_1m
330 DOUBLE PRECISION :: K_2m
332 DOUBLE PRECISION :: K_3m
334 DOUBLE PRECISION :: K_4m
336 DOUBLE PRECISION :: K_5m
338 DOUBLE PRECISION :: EP_sxSQRTHETA
340 DOUBLE PRECISION :: EP_s2xTHETA, temp_local
347 IF ( fluid_at(ijk) )
THEN 348 IF(ep_g(ijk) .GE. ep_g_blend_start(ijk))
THEN 351 k_1m = 2.d0 * (
one + c_e) * ro_s(ijk,m) *
g_0(ijk, m, m)
352 k_3m =
half * d_p(ijk,m) * ro_s(ijk,m) * ( ( (sqrt_pi / &
353 (3.d0 * (3.d0 - c_e))) * (
half*(3d0*c_e+
one) + &
354 0.4d0*(
one + c_e)*(3.d0*c_e -
one) * ep_s(ijk,m)* &
355 g_0(ijk, m,m)) ) + 8.d0*ep_s(ijk,m)*
g_0(ijk, m,m)*&
356 (
one + c_e)/ (5.d0*sqrt_pi) )
357 k_2m = 4.d0 * d_p(ijk,m) * ro_s(ijk,m) * (
one + c_e) *&
358 ep_s(ijk,m) *
g_0(ijk, m,m) / (3.d0 * sqrt_pi) - &
360 k_4m = 12.d0 * (
one - c_e*c_e) *&
361 ro_s(ijk,m) *
g_0(ijk, m,m) / (d_p(ijk,m) * sqrt_pi)
362 aq = k_4m*ep_s(ijk,m)
363 bq = k_1m*ep_s(ijk,m)*
trd_s_c(ijk,m)
365 + 2.d0*k_3m*
trd_s2(ijk,m))
369 k_5m = 0.4 * (
one + c_e) *
g_0(ijk, m,m) * &
370 ro_s(ijk,m) * ( (
v_ex * d_p(ijk,m)) / &
371 (
one - ep_s(ijk,m) *
v_ex) )**2
372 bq = bq + ep_s(ijk,m) * k_5m * &
379 temp_local = bq**2 - 4.d0 * aq * cq
380 ep_sxsqrtheta = (-bq + sqrt(temp_local))&
382 ep_s2xtheta = ep_sxsqrtheta * ep_sxsqrtheta
386 theta_m(ijk,m) = ep_s2xtheta/(ep_s(ijk,m)*ep_s(ijk,m))
392 p_s_v(ijk) = k_1m * ep_s2xtheta
395 lambda_s_v(ijk) = k_2m * ep_sxsqrtheta
398 mu_s_v(ijk) = k_3m * ep_sxsqrtheta
401 alpha_s(ijk, m) = -k_5m * ep_s2xtheta
467 INTEGER,
INTENT(IN) :: M
476 DOUBLE PRECISION :: Mu_star, Kth, Kth_star
478 DOUBLE PRECISION :: SUM_EpsGo
480 DOUBLE PRECISION :: dga_sm
484 IF ( fluid_at(ijk) )
THEN 494 sum_epsgo = sum_epsgo+ep_s(ijk,mm)*
g_0(ijk,m,mm)
501 p_s_v(ijk) = rop_s(ijk,m)*(1.d0 + 4.d0 *
eta *&
502 sum_epsgo)*theta_m(ijk,m)
505 mu_s_v(ijk) = (5.d0*dsqrt(pi*theta_m(ijk,m))*d_p(ijk,m)*&
507 mu_b_v(ijk) = (256.d0*
mu_s_v(ijk)*ep_s(ijk,m)*sum_epsgo)&
511 IF(switch ==
zero .OR. ro_g(ijk) ==
zero)
THEN 516 mu_star = ro_s(ijk,m)*ep_s(ijk,m)*
g_0(ijk,m,m)*&
517 theta_m(ijk,m)*
mu_s_v(ijk)/ &
518 (ro_s(ijk,m)*sum_epsgo*theta_m(ijk,m) &
519 + 2.d0*dga_sm/ro_s(ijk,m)*
mu_s_v(ijk))
521 mu_star = ro_s(ijk,m)*ep_s(ijk,m)*
g_0(ijk,m,m)*&
522 theta_m(ijk,m)*
mu_s_v(ijk)/ &
523 (ro_s(ijk,m)*sum_epsgo*theta_m(ijk,m)+ &
525 (ro_s(ijk,m)*ep_s(ijk,m) )) )
530 ((2.d0+alpha)/3.d0)*((mu_star/(
eta*(2.d0-
eta)*&
531 g_0(ijk,m,m)))*(
one+1.6d0*
eta*sum_epsgo)&
538 kth=75d0*ro_s(ijk,m)*d_p(ijk,m)*dsqrt(pi*theta_m(ijk,m))/&
539 (48d0*
eta*(41d0-33d0*
eta))
541 IF(switch ==
zero .OR. ro_g(ijk) ==
zero)
THEN 546 kth_star = ro_s(ijk,m)*ep_s(ijk,m)* &
547 g_0(ijk,m,m)*theta_m(ijk,m)* kth/ &
548 (ro_s(ijk,m)*sum_epsgo*theta_m(ijk,m) &
549 + 1.2d0*dga_sm/ro_s(ijk,m)* kth)
551 kth_star = ro_s(ijk,m)*ep_s(ijk,m)* &
552 g_0(ijk,m,m)*theta_m(ijk,m)*kth/ &
553 (ro_s(ijk,m)*sum_epsgo*theta_m(ijk,m)+ &
554 (1.2d0*
f_gs(ijk,m)*kth/(ro_s(ijk,m)*ep_s(ijk,m))) )
558 kth_s(ijk,m) = kth_star/
g_0(ijk,m,m)*(&
559 (
one+(12d0/5.d0)*
eta*sum_epsgo ) * &
560 (
one+(12d0/5.d0)*
eta*
eta*(4d0*
eta-3d0)* sum_epsgo ) + &
561 (64d0/(25d0*pi))*(41d0-33d0*
eta)*(
eta*sum_epsgo)**2 )
633 INTEGER,
INTENT(IN) :: M
638 DOUBLE PRECISION,
PARAMETER :: C_mu = 9.0d-02
647 DOUBLE PRECISION :: Tau_12_st
648 DOUBLE PRECISION :: Tmp_Ahmadi_Const
650 DOUBLE PRECISION :: SUM_EpsGo
652 DOUBLE PRECISION :: dga_sl
656 IF ( fluid_at(ijk) )
THEN 672 tau_12_st = ep_s(ijk,m)*ro_s(ijk,m)/
f_gs(ijk,l)
675 tau_12_st = ro_s(ijk,m)/dga_sl
687 sum_epsgo = sum_epsgo+ep_s(ijk,mm)*
g_0(ijk,m,mm)
690 p_s_v(ijk) = rop_s(ijk,m)*theta_m(ijk,m) * &
698 tmp_ahmadi_const =
one 704 mu_s_v(ijk) = tmp_ahmadi_const &
705 *0.1045d0*(
one/
g_0(ijk,m,m)+3.2d0*ep_s(ijk,m)+12.1824d0*
714 mu_b_v(ijk) = 5.d0/3.d0* tmp_ahmadi_const &
715 *0.1045d0*(12.1824d0*
g_0(ijk,m,m)*ep_s(ijk,m)*ep_s(ijk,m
719 lambda_s_v(ijk) =
eta*mu_b_v(ijk) - (2d0*mu_s_v(ijk))/3d0
723 kth_s(ijk,m) = 0.1306d0*ro_s(ijk,m)*d_p(ijk,m)*(
one+
c_e**2)*
789 INTEGER,
INTENT(IN) :: M
794 DOUBLE PRECISION,
PARAMETER :: C_mu = 9.0d-02
803 DOUBLE PRECISION :: Tau_12_st, Tau_2_c, Tau_2, Zeta_r, C_Beta
804 DOUBLE PRECISION :: Sigma_c, Zeta_c, Omega_c, Zeta_c_2, X_21, Nu_t
805 DOUBLE PRECISION :: MU_2_T_Kin, Mu_2_Col, Kappa_kin, Kappa_Col
806 DOUBLE PRECISION :: cos_theta
808 DOUBLE PRECISION :: SUM_EpsGo
810 DOUBLE PRECISION :: dga_sl
812 DOUBLE PRECISION :: rvel_l
816 IF ( fluid_at(ijk) )
THEN 833 tau_12_st = ep_s(ijk,m)*ro_s(ijk,m)/
f_gs(ijk,l)
836 tau_12_st = ro_s(ijk,m)/dga_sl
841 zeta_r = 3.0d0 * rvel_l**2 / &
845 c_beta = 1.8d0 - 1.35d0*cos_theta**2
855 tau_2_c = d_p(ijk,m)/(6.d0*ep_s(ijk,m)*
g_0(ijk,m,m) &
862 sigma_c = (
one+ c_e)*(3.d0-c_e)/5.d0
864 zeta_c = (
one+ c_e)*(49.d0-33.d0*c_e)/100.d0
865 omega_c = 3.d0*(
one+ c_e)**2 *(2.d0*c_e-
one)/5.d0
866 zeta_c_2= 2./5.*(
one+ c_e)*(3.d0*c_e-
one)
870 tau_2 =
one/(2./tau_12_st+sigma_c/tau_2_c)
872 nu_t =
tau_12(ijk)/tau_12_st
876 x_21 = ep_s(ijk,m)*ro_s(ijk,m)/(ep_g(ijk)*ro_g(ijk))
883 (2.d+0 *
k_turb_g(ijk) + 3.d+0 *x_21*theta_m(ijk,m))
886 IF(
k_12(ijk) > dsqrt(6.0d0*
k_turb_g(ijk)*theta_m(ijk,m)))
THEN 898 sum_epsgo = sum_epsgo+ep_s(ijk,mm)*
g_0(ijk,m,mm)
904 p_s_v(ijk) = rop_s(ijk,m) * &
905 (
one + 4.d0*eta*sum_epsgo)*theta_m(ijk,m)
909 mu_2_t_kin = (2.0d0/3.0d0*
k_12(ijk)*nu_t + theta_m(ijk,m) *
922 kappa_kin = (9.d0/10.d0*
k_12(ijk)*nu_t + 3.0d0/2.0d0 * &
923 theta_m(ijk,m)*(
one+ omega_c*ep_s(ijk,m)*
g_0(ijk,m,m)))/
974 INTEGER,
INTENT(IN) :: M
981 DOUBLE PRECISION :: Mu_star, Kth_star
983 DOUBLE PRECISION :: D_PM, M_PM, NU_PM, EP_SM, RO_SM, ROP_SM
985 DOUBLE PRECISION :: chi, dChiOdphi
987 DOUBLE PRECISION :: c_star, zeta0_star, nu_eta_star, &
988 gamma_star, eta_k_star, eta_star, eta0, &
989 kappa0, nu_kappa_star, kappa_k_star, &
990 qmu_k_star, qmu_star, kappa_star, press_star
992 DOUBLE PRECISION :: dga_sm
996 IF ( fluid_at(ijk) )
THEN 1001 rop_sm = rop_s(ijk,m)
1003 m_pm = (
pi/6.d0)*d_pm**3 * ro_sm
1015 press_star = 1.d0 + 2.d0*(1.d0+
c_e)*ep_sm*chi
1018 p_s_v(ijk) = rop_sm*theta_m(ijk,m)*press_star
1021 c_star = 32.0d0*(1.0d0 -
c_e)*(1.d0 - 2.0d0*
c_e*
c_e) &
1024 zeta0_star = (5.d0/12.d0)*chi*(1.d0 -
c_e*
c_e) &
1025 * (1.d0 + (3.d0/32.d0)*c_star)
1027 nu_eta_star = chi*(1.d0 - 0.25d0*(1.d0-
c_e)*(1.d0-
c_e)) &
1028 * (1.d0-(c_star/64.d0))
1030 gamma_star = (4.d0/5.d0)*(32.d0/
pi)*ep_sm*ep_sm &
1031 * chi*(1.d0+
c_e) * (1.d0 - (c_star/32.d0))
1033 eta_k_star = (1.d0 - (2.d0/5.d0)*(1.d0+
c_e)*(1.d0-3.d0*
c_e)
1046 mu_star = ro_sm*ep_sm*chi*theta_m(ijk,m)*eta0 / &
1047 ( ro_s(ijk,m)*ep_sm*chi*theta_m(ijk,m) + &
1048 2.d0*dga_sm*eta0/ro_s(ijk,m) )
1050 mu_star = ro_sm*ep_sm*chi*theta_m(ijk,m)*eta0 / &
1051 ( ro_sm*ep_sm*chi*theta_m(ijk,m) + &
1052 (2.d0*
f_gs(ijk,m)*eta0/(ro_sm*ep_sm)) )
1056 mu_s_v(ijk) = mu_star * eta_star
1057 mu_b_v(ijk) = mu_star * gamma_star
1065 kappa0 = (15.d0/4.d0)*eta0
1067 nu_kappa_star = (chi/3.d0)*(1.d0+
c_e) * ( 1.d0 + &
1068 (33.d0/16.d0)*(1.d0-
c_e) + ((19.d0-3.d0*
c_e)/1024.d0)*&
1072 kappa_k_star = (2.d0/3.d0)*(1.d0 +0.5d0*(1.d0+press_star)*&
1073 c_star + (3.d0/5.d0)*ep_sm*chi*(1.d0+
c_e)*(1.d0+
c_e) * &
1074 (2.d0*
c_e - 1.d0 + ( 0.5d0*(1.d0+
c_e) - 5.d0/&
1075 (3*(1.d0+
c_e))) * c_star ) ) / (nu_kappa_star - &
1078 kappa_star = kappa_k_star * (1.d0 + (6.d0/5.d0)*ep_sm* &
1079 chi*(1.d0+
c_e) ) + (256.d0/25.d0)*(ep_sm* &
1080 ep_sm/
pi)*chi*(1.d0+
c_e)*(1.d0+(7.d0/32.d0)* &
1088 kth_star = ro_sm*ep_sm*chi*theta_m(ijk,m)*kappa0/ &
1089 (ro_sm*ep_sm*chi*theta_m(ijk,m) + 1.2d0*dga_sm* &
1092 kth_star = ro_sm*ep_sm*chi*theta_m(ijk,m)*kappa0/ &
1093 (ro_sm*ep_sm*chi*theta_m(ijk,m)+ &
1094 (1.2d0*
f_gs(ijk,m)*kappa0/(ro_sm*ep_sm)) )
1098 kth_s(ijk,m) = kth_star * kappa_star
1102 qmu_k_star = 2.d0*( (1.d0+ep_sm*dchiodphi)* &
1103 zeta0_star*kappa_k_star + ( (press_star/3.d0) + &
1104 (2.d0/3.d0)* ep_sm*(1.d0+
c_e)*(chi+ep_sm* dchiodphi) )*&
1105 c_star - (4.d0/5.d0)*ep_sm*chi* (1.d0+(ep_sm/2.d0)*&
1106 dchiodphi)* (1.d0+
c_e) * (
c_e*(1.d0-
c_e)+0.25d0*&
1107 ((4.d0/3.d0)+
c_e* (1.d0-
c_e))*c_star ) ) / &
1108 (2.d0*nu_kappa_star-3.d0*zeta0_star)
1110 qmu_star = qmu_k_star*(1.d0+(6.d0/5.d0)*ep_sm*chi*&
1116 kphi_s(ijk,m) = (theta_m(ijk,m)*kth_star/nu_pm)*qmu_star
1174 INTEGER,
INTENT(IN) :: M
1181 DOUBLE PRECISION :: D_PM, M_PM, NU_PM, EP_SM
1183 DOUBLE PRECISION :: chi, dChiOdphi, eta0
1185 DOUBLE PRECISION :: nu0, nuN, etaK
1186 DOUBLE PRECISION :: dZeta_dT, dGama_dT, NuK, Kth0, KthK
1187 DOUBLE PRECISION :: Rdissdphi, Kphidphi, Re_T, dGamadn, dRdphi
1188 DOUBLE PRECISION :: denom
1189 DOUBLE PRECISION :: dSdphi, R_dphi, Tau_st, dPsidn, MuK
1191 DOUBLE PRECISION :: RVEL
1195 IF ( fluid_at(ijk) )
THEN 1200 m_pm = (
pi/6.d0)*d_pm**3 * ro_s(ijk,m)
1201 nu_pm = rop_s(ijk,m)/m_pm
1204 rvel = kt_rvel(ijk, m)
1211 p_s_v(ijk) = rop_s(ijk,m)*theta_m(ijk,m)* &
1216 eta0 = 0.3125d0/(dsqrt(
pi)*d_pm**2)*m_pm*&
1217 dsqrt(theta_m(ijk,m))
1219 nu0 = (96.d0/5.d0)*(ep_sm/d_pm)*dsqrt(theta_m(ijk,m)/
pi)
1222 nun = 0.25d0*nu0*chi*(3d0-
c_e)*(
one+
c_e) * &
1223 (
one+0.4375d0*a2_gtsh(ijk))
1225 etak = rop_s(ijk,m)*theta_m(ijk,m) / (nun-0.5d0*( &
1226 edt_s_ip(ijk,m,m)-xsi_gtsh(ijk)/theta_m(ijk,m) - &
1227 2d0*
g_gtsh(ep_sm, chi, ijk, m)/m_pm)) * (
one -0.4d0 * &
1232 (
one - a2_gtsh(ijk)/16d0)*eta0
1248 dzeta_dt = -0.5d0*xsi_gtsh(ijk)/(m_pm*theta_m(ijk,m))
1250 dgama_dt = 3d0*
pi*d_pm**2*ro_g(ijk)*
k_phi(ep_sm)/ &
1251 (2d0*m_pm*dsqrt(theta_m(ijk,m)))
1255 ((947d0-579*
c_e)/256d0*a2_gtsh(ijk)) )
1258 kth0 = 3.75d0*eta0/m_pm
1263 IF(ep_sm >
small_number) kthk = 2d0/3d0*kth0*nu0 / (nuk - &
1264 2d0*edt_s_ip(ijk,m,m) - 2d0*theta_m(ijk,m)*dgama_dt) * &
1265 (
one+2d0*a2_gtsh(ijk)+0.6d0*ep_sm*chi* &
1270 (10.24d0/
pi* ep_sm**2*chi*(
one+
c_e)*(
one+0.4375d0* &
1285 1.5d0*dsqrt(ep_sm/2d0)+135d0/64d0*ep_sm*(dlog(ep_sm)+
one 1289 kphidphi = ep_sm*(0.212d0*0.142d0/(ep_sm**0.788d0*&
1290 (
one-ep_sm)**4.454d0) + 4.454d0*
k_phi(ep_sm)/(
one-ep_sm)
1293 re_t = ro_g(ijk)*d_pm*dsqrt(theta_m(ijk,m)) / mu_g(ijk)
1296 dgamadn = 3d0*
pi*d_pm*mu_g(ijk)*(rdissdphi+re_t*kphidphi)
1306 denom =
one+0.681d0*ep_sm-8.48d0*ep_sm**2+8.16d0*ep_sm**
1312 ELSEIF(ep_sm > 0.4d0)
THEN 1313 drdphi = 10d0*(
one+2d0*ep_sm)/(
one-ep_sm)**4
1318 IF(ep_sm >= 0.1d0)
THEN 1320 denom =
one+3.5d0*dsqrt(ep_sm)+5.9d0*ep_sm
1321 dsdphi = 2d0*r_dphi*drdphi/(chi*denom) - &
1322 ep_sm*r_dphi**2 * (dchiodphi/(chi**2*denom) + &
1323 (1.75d0/dsqrt(ep_sm)+5.9d0)/(chi*denom**2))
1327 tau_st = m_pm/(3d0*
pi*mu_g(ijk)*d_pm)
1330 dpsidn = dsqrt(
pi)*d_pm**4*rvel**2 / &
1331 (36d0*tau_st**2*dsqrt(theta_m(ijk,m))) * dsdphi
1336 theta_m(ijk,m)/nu_pm / (nuk-1.5d0*(edt_s_ip(ijk,m,m)-&
1337 xsi_gtsh(ijk)/theta_m(ijk,m))) * ( kthk/(kth0*nu0)*&
1338 (2d0/m_pm*dgamadn-ro_s(ijk,m)/(m_pm* theta_m(ijk,m))*&
1339 dpsidn + edt_s_ip(ijk,m,m)*(
one+ep_sm/chi*dchiodphi)) +&
1340 2d0/3d0*a2_gtsh(ijk) + 0.8d0*ep_sm*chi* (
one+
c_e)*&
1342 a2_gtsh(ijk)/6d0*(16d0-3d0*
c_e+3d0*
c_e**2)))
1409 INTEGER,
INTENT(IN) :: M
1418 DOUBLE PRECISION :: Mu_star, Mu_s_dil, Kth_star, K_s_dil
1420 DOUBLE PRECISION :: P_s_sum, P_s_MM, P_s_LM
1421 DOUBLE PRECISION :: MU_common_term, K_common_term
1422 DOUBLE PRECISION :: Mu_sM_sum, MU_s_MM, MU_s_LM, MU_sM_LM, MU_sL_LM
1423 DOUBLE PRECISION :: XI_sM_sum, XI_s_v
1424 DOUBLE PRECISION :: M_PM, M_PL, MPSUM, NU_PL, NU_PM, D_PM, D_PL, DPSUMo2
1425 DOUBLE PRECISION :: Ap_lm, Dp_lm, R0p_lm, R1p_lm, R8p_lm, R9p_lm, Bp_lm
1427 DOUBLE PRECISION :: K_s_sum, K_s_MM, K_s_LM
1429 DOUBLE PRECISION :: SUM_EpsGo
1431 DOUBLE PRECISION :: Kth_sL_iptmp
1433 DOUBLE PRECISION :: dga_sm
1437 IF ( fluid_at(ijk) )
THEN 1443 sum_epsgo = sum_epsgo+
ep_s(ijk,l)*
g_0(ijk,m,l)
1446 sum_epsgo =
ep_s(ijk,m)*
g_0(ijk,m,m)
1456 m_pm = (
pi/6.d0)*d_pm**3 * ro_s(ijk,m)
1457 nu_pm = rop_s(ijk,m)/m_pm
1459 p_s_mm = nu_pm*theta_m(ijk,m)
1461 mu_s_dil = (5.d0/96.d0)*d_pm* ro_s(ijk,m)*&
1462 dsqrt(
pi*theta_m(ijk,m)/m_pm)
1464 IF(switch ==
zero .OR. ro_g(ijk) ==
zero)
THEN 1469 mu_star = mu_s_dil*
ep_s(ijk,m)*
g_0(ijk,m,m)/ &
1470 ( sum_epsgo + 2.0d0*dga_sm*mu_s_dil /&
1471 (ro_s(ijk,m)**2 *(theta_m(ijk,m)/m_pm)) )
1473 mu_star = mu_s_dil*
ep_s(ijk,m)*
g_0(ijk,m,m)/ &
1474 ( sum_epsgo + 2.0d0*
f_gs(ijk,m)*mu_s_dil /&
1475 (ro_s(ijk,m)**2 *
ep_s(ijk,m)*&
1476 (theta_m(ijk,m)/m_pm)) )
1479 mu_s_mm = (mu_star/
g_0(ijk,m,m))*&
1480 (1.d0+(4.d0/5.d0)*(1.d0+c_e)*sum_epsgo)**2
1484 m_pl = (
pi/6.d0)*d_pl**3 * ro_s(ijk,l)
1486 dpsumo2 = (d_pm+d_pl)/2.d0
1487 nu_pl = rop_s(ijk,l)/m_pl
1490 ap_lm = mpsum/(2.d0)
1491 dp_lm = m_pl*m_pm/(2.d0*mpsum)
1492 r0p_lm =
one/( ap_lm**1.5 * dp_lm**2.5 )
1493 r1p_lm =
one/( ap_lm**1.5 * dp_lm**3 )
1495 p_s_lm =
pi*(dpsumo2**3 / 48.d0)*
g_0(ijk,m,l)*&
1496 (m_pm*m_pl/mpsum)* (m_pm*m_pl)**1.5 *&
1497 nu_pm*nu_pl*(1.d0+c_e)*r0p_lm*theta_m(ijk,m)
1499 mu_s_lm = dsqrt(
pi)*( dpsumo2**4 / 240d0 )*&
1500 g_0(ijk,m,l)*(m_pl*m_pm/mpsum)**2 *&
1501 (m_pl*m_pm)**1.5 * nu_pm*nu_pl*&
1502 (1.d0+c_e) * r1p_lm * dsqrt(theta_m(ijk,m))
1505 mu_sm_ip(ijk,m,l) = (mu_s_mm + mu_s_lm)
1508 mu_sl_ip(ijk,m,l) = mu_s_lm
1512 xi_sm_ip(ijk,m,l) = (5.d0/3.d0)*mu_s_lm
1516 xi_sl_ip(ijk,m,l) = (5.d0/3.d0)*mu_s_lm
1519 ap_lm = (m_pm*theta_m(ijk,l)+m_pl*&
1520 theta_m(ijk,m))/2.d0
1521 bp_lm = (m_pm*m_pl*(theta_m(ijk,l)-&
1522 theta_m(ijk,m) ))/(2.d0*mpsum)
1523 dp_lm = (m_pl*m_pm*(m_pm*theta_m(ijk,m)+&
1524 m_pl*theta_m(ijk,l) ))/&
1526 r0p_lm = (1.d0/(ap_lm**1.5 * dp_lm**2.5))+ &
1527 ((15.d0*bp_lm*bp_lm)/(2.d0* ap_lm**2.5 *&
1529 ((175.d0*(bp_lm**4))/(8.d0*ap_lm**3.5 * &
1531 r1p_lm = (1.d0/((ap_lm**1.5)*(dp_lm**3)))+ &
1532 ((9.d0*bp_lm*bp_lm)/( ap_lm**2.5 * dp_lm**4))+&
1533 ((30.d0*bp_lm**4) /( 2.d0*ap_lm**3.5 * &
1536 p_s_lm =
pi*(dpsumo2**3 / 48.d0)*
g_0(ijk,m,l)*&
1537 (m_pm*m_pl/mpsum)* (m_pm*m_pl)**1.5 *&
1538 nu_pm*nu_pl*(1.d0+c_e)*r0p_lm* &
1539 (theta_m(ijk,m)*theta_m(ijk,l))**2.5
1541 mu_common_term = dsqrt(
pi)*( dpsumo2**4 / 240d0 )*&
1542 g_0(ijk,m,l)*(m_pl*m_pm/mpsum)**2 *&
1543 (m_pl*m_pm)**1.5 * nu_pm*nu_pl*&
1545 mu_sm_lm = mu_common_term * theta_m(ijk,m)**2 *&
1547 mu_sl_lm = mu_common_term * theta_m(ijk,l)**2 *&
1552 mu_sm_ip(ijk,m,l) = mu_sm_lm
1556 mu_sl_ip(ijk,m,l) = mu_sl_lm
1560 xi_sm_ip(ijk,m,l) = (5.d0/3.d0)*mu_sm_lm
1564 xi_sl_ip(ijk,m,l) = (5.d0/3.d0)*mu_sl_lm
1567 p_s_sum = p_s_sum + p_s_lm
1568 mu_sm_sum = mu_sm_sum + mu_sm_ip(ijk,m,l)
1569 xi_sm_sum = xi_sm_sum + xi_sm_ip(ijk,m,l)
1574 p_s_v(ijk) = p_s_sum + p_s_mm
1578 mu_s_v(ijk) = mu_sm_sum + mu_sl_ip(ijk,m,m)
1579 xi_s_v = xi_sm_sum + xi_sl_ip(ijk,m,m)
1588 k_s_dil = (75.d0/384.d0)*d_pm* ro_s(ijk,m)*&
1589 dsqrt(
pi*theta_m(ijk,m)/m_pm)
1591 IF(switch ==
zero .OR. ro_g(ijk) ==
zero)
THEN 1597 kth_star = k_s_dil*
ep_s(ijk,m)*
g_0(ijk,m,m)/ &
1598 (sum_epsgo+ 1.2d0*dga_sm*k_s_dil &
1599 / (ro_s(ijk,m)**2 *(theta_m(ijk,m)/m_pm)))
1601 kth_star = k_s_dil*
ep_s(ijk,m)*
g_0(ijk,m,m)/ &
1602 (sum_epsgo+ 1.2d0*
f_gs(ijk,m)*k_s_dil &
1603 / (ro_s(ijk,m)**2 *
ep_s(ijk,m)*(theta_m(ijk,m)/m_pm))
1607 k_s_mm = (kth_star/(m_pm*
g_0(ijk,m,m)))*&
1608 (1.d0+(3.d0/5.d0)*(1.d0+c_e)*(1.d0+c_e)*sum_epsgo)**2
1612 m_pl = (
pi/6.d0)*d_pl**3 *ro_s(ijk,l)
1614 dpsumo2 = (d_pm+d_pl)/2.d0
1615 nu_pl = rop_s(ijk,l)/m_pl
1623 kvel_s_ip(ijk,m,l) =
zero 1631 knu_sl_ip(ijk,m,l) =
zero 1635 knu_sm_ip(ijk,m,l) =
zero 1639 k_s_sum = k_s_sum + k_s_mm
1642 ap_lm = (m_pm*theta_m(ijk,l)+m_pl*theta_m(ijk,m))/2.d0
1643 bp_lm = (m_pm*m_pl*(theta_m(ijk,l)-&
1644 theta_m(ijk,m) ))/(2.d0*mpsum)
1645 dp_lm = (m_pl*m_pm*(m_pm*theta_m(ijk,m)+&
1646 m_pl*theta_m(ijk,l) ))/(2.d0*mpsum*mpsum)
1647 r0p_lm = (1.d0/(ap_lm**1.5 * dp_lm**2.5))+&
1648 ((15.d0*bp_lm*bp_lm)/(2.d0* ap_lm**2.5 * dp_lm**3.
1680 k_s_lm = - k_common_term*nu_pm*nu_pl*(&
1681 ((dpsumo2*dsqrt(
pi)/16.d0)*(3.d0/2.d0)*bp_lm*r5p_lm)+
1700 kth_sl_iptmp = k_common_term*nu_pm*nu_pl*(&
1701 (-(dpsumo2*dsqrt(
pi)/16.d0)*(3.d0/2.d0)*bp_lm*r5p_lm
1722 kvel_s_ip(ijk,m,l) = k_common_term*nu_pm*nu_pl*&
1723 (m_pl/(8.d0*mpsum))*(1.d0-c_e)*(3.d0*
pi/10.d0)*&
1724 r0p_lm * (theta_m(ijk,m)*theta_m(ijk,l))**2.5
1728 knu_sl_ip(ijk,m,l) = k_common_term*(&
1729 ((dpsumo2*dsqrt(
pi)/16.d0)*bp_lm*r5p_lm)+&
1730 ((m_pl/(8.d0*mpsum))*(1.d0-c_e)*(dpsumo2*
pi/6.d0)*&
1731 r1p_lm) )* (theta_m(ijk,m)*theta_m(ijk,l))**3
1734 knu_sm_ip(ijk,m,l) = nu_pl * knu_sl_ip(ijk,m,l)
1735 knu_sl_ip(ijk,m,l) = nu_pm * knu_sl_ip(ijk,m,l)
1736 k_s_sum = k_s_sum + k_s_lm
1741 kth_s(ijk,m) = k_s_sum
1786 INTEGER,
INTENT(IN) :: M
1791 DOUBLE PRECISION :: MAX_MU_s
1792 parameter(max_mu_s = 1000.d0)
1801 DOUBLE PRECISION :: SUM_EPS_CP
1803 DOUBLE PRECISION :: qxP_s
1807 IF ( fluid_at(ijk) )
THEN 1809 IF(ep_g(ijk) .LT. ep_g_blend_end(ijk))
THEN 1845 mu_s_p(ijk) = min(mu_s_p(ijk), to_si*max_mu_s)
1847 lambda_s_p(ijk) =
zero 1902 USE run, only: kt_type_enum, ghd_2007
1916 INTEGER,
INTENT(IN) :: M
1925 DOUBLE PRECISION :: Chi, Pc, Mu_zeta,PfoPc, N_Pff
1926 DOUBLE PRECISION :: ZETA
1928 DOUBLE PRECISION :: SUM_EPS_CP
1930 DOUBLE PRECISION :: dpc_dphi, dp_avg
1934 IF ( fluid_at(ijk) )
THEN 1936 IF (ep_g(ijk) .LT. (
one-eps_f_min))
THEN 1943 dp_avg = dp_avg + d_p(ijk,mm)
1947 dp_avg = dp_avg/dble(
smax)
1951 ((2d0+alpha)/3d0)*((mu_s_v(ijk)/(eta*(2d0-eta)*&
1952 g_0(ijk,m,m)))*(1d0+1.6d0*eta*ep_s(ijk,m)*&
1953 g_0(ijk,m,m))*(1d0+1.6d0*eta*(3d0*eta-2d0)*&
1954 ep_s(ijk,m)*
g_0(ijk,m,m))+(0.6d0*mu_b_v(ijk)*eta))
1956 ((48d0*eta*(1d0-eta)*ro_s(ijk,m)*ep_s(ijk,m)*&
1957 ep_s(ijk,m)*
g_0(ijk,m,m)*&
1958 (theta_m(ijk,m)**1.5d0))/&
1959 (sqrt_pi*d_p(ijk,m)*2d0*mu_zeta))**0.5d0
1961 ELSEIF (
savage.EQ.0)
THEN 1967 IF(kt_type_enum == ghd_2007)
THEN 1968 zeta = ((theta_m(ijk,m)/dp_avg**2) +&
1970 trd_s_c(ijk,m))/3.d0)))**0.5d0
1972 zeta = ((theta_m(ijk,m)/d_p(ijk,m)**2) +&
1974 trd_s_c(ijk,m))/3.d0)))**0.5d0
1981 dpc_dphi = (to_si*
fr)*((
delta**5)*(2d0*(
one-&
1993 pc = (to_si*
fr)*(((
one-ep_g(ijk)) - eps_f_min)**
n_pc)
1999 n_pff = dsqrt(3d0)/(2d0*sin_phi)
2004 IF ((
trd_s_c(ijk,m)/(zeta*n_pff*dsqrt(2d0)&
2005 *sin_phi)) .GT. 1d0)
THEN 2013 *n_pff*dsqrt(2d0)*sin_phi)))**(n_pff-1d0)
2014 pfopc = (1d0 - (
trd_s_c(ijk,m)/(zeta&
2015 *n_pff*dsqrt(2d0)*sin_phi)))**(n_pff-1d0)
2018 chi = dsqrt(2d0)*
p_s_f(ijk)*sin_phi*(n_pff - (n_pff-1d0)*
2021 IF (chi <
zero)
THEN 2022 p_s_f(ijk) = pc*((n_pff/(n_pff-1d0))**(n_pff-1d0))
2026 mu_s_f(ijk) = chi/(2d0*zeta)
2027 lambda_s_f(ijk) = -2d0*mu_s_f(ijk)/3d0
2031 IF(kt_type_enum /= ghd_2007)
THEN 2032 p_s_f(ijk) =
p_s_f(ijk) * (ep_s(ijk,m)/sum_eps_cp)
2033 mu_s_f(ijk) = mu_s_f(ijk) * (ep_s(ijk,m)/sum_eps_cp)
2034 lambda_s_f(ijk) = lambda_s_f(ijk) * (ep_s(ijk,m)/sum_eps_cp
2093 INTEGER,
INTENT(IN) :: M
2100 DOUBLE PRECISION :: pressurefac, ps_kinetic, ps_total, ps_sub
2101 DOUBLE PRECISION :: viscosityfac, extra_visfactor, mu_sub
2102 DOUBLE PRECISION :: mu_kinetic, mu_total
2104 DOUBLE PRECISION :: wfactor_Ps, wfactor_mus
2106 DOUBLE PRECISION :: Inv_Froude
2108 DOUBLE PRECISION :: vt
2110 DOUBLE PRECISION :: filtersize
2114 IF ( fluid_at(ijk) )
THEN 2121 vt =
gravity*d_p(ijk,m)*d_p(ijk,m)*&
2122 (ro_s(ijk,m) - ro_g(ijk)) / (18.0d0*
mu_g(ijk))
2126 filtersize = filter_size_ratio * (
vol(ijk)**(
one/3.0d0))
2128 filtersize = filter_size_ratio * dsqrt(
axy(ijk))
2133 inv_froude = filtersize *
gravity / vt**2
2136 pressurefac = 0.48d0*(inv_froude**0.86)*&
2137 (
one-exp(-inv_froude/1.4))
2138 viscosityfac = 0.37d0*(inv_froude**1.22)
2139 extra_visfactor =
one/(0.28d0*(inv_froude**0.43)+
one)
2141 IF (ep_s(ijk,m) .LE. 0.0131)
THEN 2142 ps_kinetic = -10.4d0*(ep_s(ijk,m)**2)+0.31d0*ep_s(ijk,m)
2143 ELSEIF (ep_s(ijk,m) .LE. 0.290)
THEN 2144 ps_kinetic = -0.185d0*(ep_s(ijk,m)**3)+&
2145 0.066d0*(ep_s(ijk,m)**2)-0.000183d0*ep_s(ijk,m)+&
2147 ELSEIF (ep_s(ijk,m) .LE. 0.595)
THEN 2148 ps_kinetic = -0.00978d0*ep_s(ijk,m)+0.00615d0
2150 ps_kinetic = -6.62d0*(ep_s(ijk,m)**3)+&
2151 49.5d0*(ep_s(ijk,m)**2)-50.3d0*ep_s(ijk,m)+13.8d0
2154 ps_sub = pressurefac*(ep_s(ijk,m)-0.59d0)*&
2155 (-1.69d0*ep_s(ijk,m)-4.61d0*(ep_s(ijk,m)**2)+&
2156 11.d0*(ep_s(ijk,m)**3))
2158 IF (ps_sub .GE.
zero)
THEN 2159 ps_total=ps_kinetic+ps_sub
2164 IF (ep_s(ijk,m) .LE. 0.02)
THEN 2165 mu_kinetic = 1720.d0*(ep_s(ijk,m)**4)-&
2166 215.d0*(ep_s(ijk,m)**3) + 9.81d0*(ep_s(ijk,m)**2)-&
2167 0.207d0*ep_s(ijk,m)+0.00254d0
2168 ELSEIF (ep_s(ijk,m) .LE. 0.2)
THEN 2169 mu_kinetic = 2.72d0*(ep_s(ijk,m)**4)-&
2170 1.55d0*(ep_s(ijk,m)**3)+0.329d0*(ep_s(ijk,m)**2)-&
2171 0.0296d0*ep_s(ijk,m)+0.00136d0
2172 ELSEIF (ep_s(ijk,m) .LE. 0.6095)
THEN 2173 mu_kinetic = -0.0128d0*(ep_s(ijk,m)**3)+&
2174 0.0107d0*(ep_s(ijk,m)**2)-0.0005d0*ep_s(ijk,m)+&
2177 mu_kinetic = 23.6d0*(ep_s(ijk,m)**2)-&
2178 28.0d0*ep_s(ijk,m)+8.30d0
2181 mu_sub = extra_visfactor*viscosityfac*&
2182 (ep_s(ijk,m)-0.59d0)*(-1.22d0*ep_s(ijk,m)-&
2183 0.7d0*(ep_s(ijk,m)**2)-2.d0*(ep_s(ijk,m)**3))
2185 IF (mu_sub .GE.
zero)
THEN 2186 mu_total = mu_kinetic+mu_sub
2188 mu_total = mu_kinetic
2196 p_s_v(ijk) = ps_total * wfactor_ps * (vt**2) * &
2200 mu_s_v(ijk) = mu_total * wfactor_mus * (vt**3) * &
2270 INTEGER,
INTENT(IN) :: M
2277 DOUBLE PRECISION :: cvisc_pot, cvisc_num, cvisc_den, Cvisc
2278 DOUBLE PRECISION :: cpress_pot, cpress_num, cpress_den, Cpress
2280 DOUBLE PRECISION :: wfactor_Ps, wfactor_mus
2282 DOUBLE PRECISION :: Inv_Froude
2284 DOUBLE PRECISION :: vt
2286 DOUBLE PRECISION :: filtersize
2290 IF ( fluid_at(ijk) )
THEN 2297 vt =
gravity*d_p(ijk,m)*d_p(ijk,m)*&
2298 (ro_s(ijk,m)-ro_g(ijk)) / (18.0d0*
mu_g(ijk))
2302 filtersize = filter_size_ratio * (
vol(ijk)**(
one/3.0d0))
2304 filtersize = filter_size_ratio * dsqrt(
axy(ijk))
2308 inv_froude = filtersize *
gravity / vt**2
2311 cvisc_pot = (0.59d0-(
one-ep_g(ijk)))
2312 cvisc_num = (0.7d0*(
one-ep_g(ijk))*cvisc_pot)
2313 cvisc_den = (0.8d0+(17.d0*cvisc_pot*cvisc_pot*cvisc_pot))
2314 IF ((
one-ep_g(ijk)) .GE.
zero .AND. &
2315 (
one-ep_g(ijk)) .LE. 0.59)
THEN 2316 cvisc=(cvisc_num/cvisc_den)
2333 cpress_pot = (0.59d0-(
one-ep_g(ijk)))
2334 cpress_num = (0.4d0*(
one-ep_g(ijk))*cpress_pot)
2335 cpress_den = (0.5d0+(13.d0*cpress_pot*cpress_pot*cpress_pot)
2336 IF ((
one-ep_g(ijk)) .GE.
zero .AND. &
2337 (
one-ep_g(ijk)) .LE. 0.59)
THEN 2338 cpress = (cpress_num/cpress_den)
2359 p_s_v(ijk) = ro_s(ijk,m) * inv_froude**(2/7) * &
2360 filtersize**2 * dsqrt(
i2_devd_s(ijk) )**2 * &
2364 mu_s_v(ijk) = ro_s(ijk,m) * filtersize**2 * &
2365 dsqrt(
i2_devd_s(ijk) ) * cvisc * wfactor_mus
2373 lambda_s_v(ijk) = (-2.0d0/3.0d0)*mu_s_v(ijk)
2417 DOUBLE PRECISION,
INTENT(OUT) :: lfactor_ps
2419 DOUBLE PRECISION,
INTENT(OUT) :: lfactor_mus
2421 DOUBLE PRECISION,
INTENT(IN) :: vt
2423 INTEGER,
INTENT(IN) :: IJK
2428 DOUBLE PRECISION,
PARAMETER :: aps=9.14d0, bps=0.345d0,&
2429 amus=5.69d0, bmus=0.228d0
2434 DOUBLE PRECISION :: x_d
2444 lfactor_ps =
one / (
one + aps * (exp(-bps*x_d)) )
2446 lfactor_mus =
one / (
one + amus * (exp(-bmus*x_d)) )
2471 INTEGER,
INTENT(IN) :: M
2481 IF (fluid_at(ijk))
THEN 2510 INTEGER,
INTENT(IN) :: M
2520 IF (fluid_at(ijk))
THEN 2546 INTEGER,
INTENT(IN) :: M
2554 lambda_s_v(:) =
zero 2558 lambda_s_p(:) =
zero 2562 lambda_s_f(:) =
zero 2596 USE run, only: kt_type_enum
2597 USE run, only: ia_2005
2608 INTEGER,
INTENT(IN) :: M
2619 DOUBLE PRECISION :: D_sM(3,3), D_sl(3,3)
2621 DOUBLE PRECISION :: DelV_sM(3,3), DelV_sL(3,3)
2623 DOUBLE PRECISION :: SRT
2628 IF (kt_type_enum == ia_2005)
THEN 2640 IF ( fluid_at(ijk) )
THEN 2648 trd_s_c(ijk,m) = d_sm(1,1) + d_sm(2,2) + d_sm(3,3)
2652 trd_s2(ijk,m) =
zero 2655 trd_s2(ijk,m) = trd_s2(ijk,m) + d_sm(i1,i2)*d_sm(i1,i2
2660 IF (trd_s2(ijk,m) ==
zero) trd_s_c(ijk,m) =
zero 2665 i2_devd_s(ijk) = ( (d_sm(1,1)-d_sm(2,2))**2 + &
2666 (d_sm(2,2)-d_sm(3,3))**2 + &
2667 (d_sm(3,3)-d_sm(1,1))**2 )/6.&
2668 + d_sm(1,2)**2 + d_sm(2,3)**2 + d_sm(3,1)**2
2675 IF (kt_type_enum == ia_2005)
THEN 2690 d_sl(i1,i2)*d_sm(i1,i2)
2710 IF (kt_type_enum == ia_2005)
THEN 2744 USE functions, only: west_of, east_of, south_of, north_of
2745 USE functions, only: top_of, bottom_of, fluid_at
2751 INTEGER,
INTENT(IN) :: IJK
2753 INTEGER,
INTENT(IN) ::M
2755 DOUBLE PRECISION,
DIMENSION(3,3),
INTENT(IN) :: D_S
2760 INTEGER :: I, J, K, IM, JM, KM
2761 INTEGER :: IJKW, IJKE, IJKS, IJKN, IJKB, IJKT
2763 DOUBLE PRECISION :: M_s(3,3)
2765 DOUBLE PRECISION :: DEP_soDX
2767 DOUBLE PRECISION :: DEP_soDY
2769 DOUBLE PRECISION :: DEP_soXDZ
2782 ijks = south_of(ijk)
2783 ijkn = north_of(ijk)
2784 ijkb = bottom_of(ijk)
2787 IF(
ep_g(ijk) .GE. ep_star_array(ijk))
THEN 2796 dep_soxdz = ((
ep_s(ijkt, m) -
ep_s(ijk, m) )&
2803 m_s(1,1) = dep_sodx * dep_sodx
2804 m_s(1,2) = dep_sodx * dep_sody
2805 m_s(1,3) = dep_sodx * dep_soxdz
2806 m_s(2,1) = dep_sodx * dep_sody
2807 m_s(2,2) = dep_sody * dep_sody
2808 m_s(2,3) = dep_sody * dep_soxdz
2809 m_s(3,1) = dep_sodx * dep_soxdz
2810 m_s(3,2) = dep_sody * dep_soxdz
2811 m_s(3,3) = dep_soxdz * dep_soxdz
2813 trm_s(ijk) = m_s(1,1) + m_s(2,2) + m_s(3,3)
subroutine calc_deriv_vel_solids(IJK, M, lVelGradS, lRateStrainS)
double precision, dimension(:,:), allocatable v_s
double precision, dimension(:), allocatable tau_1
double precision, dimension(:), allocatable mu_s_v
double precision, dimension(:,:,:), allocatable trd_s2_ip
double precision, dimension(:,:,:), allocatable kvel_s_ip
double precision, dimension(:,:), allocatable mu_s
integer, dimension(:), allocatable i_of
double precision, dimension(:,:), allocatable trd_s_c
double precision, dimension(:), allocatable mu_s_p
double precision, dimension(:), allocatable mu_b_v
double precision, dimension(:,:), allocatable mu_s_c
double precision, dimension(:), allocatable ep_g
double precision, dimension(:,:,:), allocatable mu_sl_ip
double precision, dimension(:), allocatable k_turb_g
double precision function blend_function(IJK)
double precision, parameter one
subroutine remove_shear(M)
double precision function dg_0dnu(EPS)
subroutine gt_pde_simonin(M)
double precision, dimension(:,:), allocatable kphi_s
subroutine friction_schaeffer(M)
double precision, dimension(:), allocatable mu_s_f
double precision, dimension(:), allocatable axy
subroutine gt_pde_gtsh(M)
double precision, dimension(:), allocatable trdm_s
double precision, dimension(:,:), allocatable trd_s2
integer, dimension(:), allocatable im1
double precision, dimension(:), allocatable trm_s
double precision, dimension(:,:,:), allocatable knu_sm_ip
subroutine gt_algebraic(M)
double precision, parameter switch
double precision, dimension(:), allocatable p_s_f
double precision, dimension(:,:,:), allocatable xi_sm_ip
double precision, dimension(:), allocatable k_12
double precision function g_0(IJK, M1, M2)
double precision, parameter undefined
logical, dimension(dim_m) close_packed
double precision, dimension(:,:), allocatable kth_s
double precision function s_star(phi, Chi)
subroutine subgrid_stress_igci(M)
double precision, dimension(:), allocatable tau_12
double precision, dimension(:), allocatable lambda_s_f
double precision, dimension(:,:), allocatable epmu_s
double precision, dimension(:,:), allocatable lambda_s_c
subroutine calc_usr_prop(lprop, lM, lL, lerr)
subroutine friction_princeton(M)
subroutine calc_default_mus(M)
double precision, dimension(:), allocatable ep_star_array
double precision, dimension(:), allocatable p_s_v
double precision, dimension(:), allocatable vsh
subroutine init_err_msg(CALLER)
integer, dimension(:), allocatable k_of
double precision, dimension(:,:), allocatable eplambda_s
double precision, dimension(:), allocatable ody_n
double precision, dimension(:,:), allocatable p_s_c
subroutine set_epmus_values(M)
double precision, dimension(:), allocatable xsi_gtsh
double precision, dimension(:,:), allocatable d_p
double precision, parameter alpha
double precision, dimension(:), allocatable ep_g_blend_end
double precision function r_d(phi)
subroutine transport_coeff_ghd(M)
integer, dimension(:), allocatable j_of
double precision, dimension(:), allocatable odx_e
integer, dimension(:), allocatable jm1
double precision, parameter small_number
double precision, dimension(:,:,:), allocatable xi_sl_ip
double precision, dimension(:), allocatable ox
double precision function g_gtsh(EP_SM, Chi, IJK, M)
double precision, dimension(:,:), allocatable theta_m
double precision eps_f_min
double precision filter_size_ratio
double precision, dimension(:), allocatable p_s_p
double precision function kt_cos_theta(ijk, M)
double precision, dimension(:), allocatable a2_gtsh
double precision, dimension(:), allocatable ep_g_blend_start
double precision, dimension(:), allocatable lambda_s_v
double precision, parameter half
double precision, dimension(:,:), allocatable lambda_s
double precision function kt_rvel(IJK, m)
double precision, parameter large_number
double precision, dimension(:,:,:), allocatable knu_sl_ip
double precision function kt_dga(IJK, m)
double precision, dimension(:,:), allocatable alpha_s
double precision, parameter dil_ep_s
double precision, dimension(:,:), allocatable ro_s
double precision sin2_phi
double precision function k_phi(phi)
logical, dimension(:), allocatable cut_cell_at
integer, dimension(:), allocatable km1
double precision, dimension(:,:), allocatable p_s
double precision, dimension(:), allocatable p_star
double precision, dimension(:), allocatable mu_g
subroutine subgrid_stress_milioli(M)
double precision, parameter epm
double precision, dimension(:,:,:), allocatable mu_sm_ip
double precision, dimension(:), allocatable i2_devd_s
character(len=line_length), dimension(line_count) err_msg
double precision function ep_s(IJK, xxM)
logical, dimension(dim_m) usr_mus
double precision, dimension(:,:), allocatable f_gs
double precision, dimension(:,:,:), allocatable kth_sl_ip
double precision, dimension(:,:), allocatable eps_ifac
double precision, dimension(:,:), allocatable rop_s
double precision, dimension(dim_m) mu_s0
double precision, dimension(:), allocatable dwall
subroutine calc_boyle_massoudi_stress(IJK, M, D_S)
double precision, dimension(:,:,:), allocatable edt_s_ip
subroutine gt_pde_ahmadi(M)
double precision, parameter pi
double precision, dimension(:), allocatable e_turb_g
double precision, dimension(:), allocatable vol
subroutine subgrid_stress_wall(lfactor_ps, lfactor_mus, vt, IJK)
double precision, parameter sqrt_pi
double precision, dimension(:), allocatable odz_t
double precision, dimension(:), allocatable ro_g
double precision, dimension(:), allocatable x
double precision, parameter zero
subroutine flush_err_msg(DEBUG, HEADER, FOOTER, ABORT, LOG, CALL_TREE)
double precision, dimension(:), allocatable lambda_s_p
logical, parameter switch_ia
double precision ur_kth_sml