44 const DoubleTab& rho,
const DoubleTab& nu,
const DoubleTab& sigma,
const double Dh,
45 const DoubleTab& ndv,
const DoubleTab& d_bulles,
46 const DoubleTab& eps,
const DoubleTab& k_turb,
const int n_l,
const int n_g1,
const int n_g2,
47 DoubleTab& coeff)
const
50 const double lambda_RC1 = std::exp(-C_RC0 * std::sqrt(d_bulles(n_g1) * rho(n_l) / sigma(n_g1, n_l)) * std::cbrt(d_bulles(n_g1) * eps(n_l)));
51 const double D_crit = 4. * std::sqrt(sigma(n_g2, n_l) / g / (rho(n_l) - rho(n_g2)));
52 const double d2_eff = std::max(d_bulles(n_g2), D_crit);
53 const double lambda_RC2 = std::exp(-C_RC0 * std::sqrt(d2_eff * rho(n_l) / sigma(n_g2, n_l)) * std::cbrt(d2_eff * eps(n_l)));
54 const double alpha_max_cbrt = std::cbrt(alpha_max);
55 const double alpha_clipped_cbrt = std::cbrt(std::min(alpha(n_g1), alpha_coal_max_));
56 const double alpha_p_clipped_cbrt = std::cbrt(std::min(alpha_p(n_g1), alpha_coal_max_));
57 const double ratio_Dc_D2 = D_crit / d2_eff;
59 const double formfunc_alpha = (alpha(n_g1) > 1. / fac_sec_) ? (1. - std::exp(-C_RC0 * (alpha_max_cbrt * alpha_clipped_cbrt) / std::max(alpha_max_cbrt - alpha_clipped_cbrt, 1. / fac_sec_))) : 0.;
60 const double formfunc_alpha_p = (alpha(n_g1) > 1. / fac_sec_) ? (1. - std::exp(-C_RC0 * (alpha_max_cbrt * alpha_p_clipped_cbrt) / std::max(alpha_max_cbrt - alpha_p_clipped_cbrt, 1. / fac_sec_))) : 0.;
61 const double dformfunc_alpha_dalpha = (alpha(n_g1) > 1. / fac_sec_) ? (1. / alpha_max_cbrt / 3. * (1. - std::exp(-C_RC0 * (alpha_max_cbrt * alpha_clipped_cbrt) / (alpha_max_cbrt - alpha_clipped_cbrt))) / (alpha_clipped_cbrt * alpha_clipped_cbrt) / (alpha_max_cbrt - alpha_clipped_cbrt) / (alpha_max_cbrt - alpha_clipped_cbrt) + std::exp(-C_RC0 * (alpha_max_cbrt * alpha_clipped_cbrt) / (alpha_max_cbrt - alpha_clipped_cbrt)) / (alpha_max_cbrt - alpha_clipped_cbrt) * (C_RC0 / alpha_clipped_cbrt / 3.) / (alpha_max_cbrt - alpha_clipped_cbrt) * (1. / std::min(alpha(n_g1) * alpha(n_g1), alpha_coal_max_) + 1. / (alpha_max_cbrt - alpha_clipped_cbrt))) : 0.;
62 const double formfunc_alpha2 = std::max(1. - std::exp(-C_RC0 * (alpha(n_g2) * alpha(n_g2))), 0.) * std::max(1. - 0.37 * std::pow(ratio_Dc_D2, 3.), 0.);
65 coeff(n_g1, n_l) = (alpha(n_g1) > 1. / fac_sec_) ? -0.17 * C_RC1 * lambda_RC1 * formfunc_alpha / (alpha_max_cbrt / (alpha_max_cbrt - alpha_clipped_cbrt)) : 0.;
68 if (alpha(n_g1) < alpha_coal_max_)
70 coeff(n_l, n_g1) = (alpha(n_g1) > 1. / fac_sec_) ? -0.17 * C_RC1 * lambda_RC1 * dformfunc_alpha_dalpha : 0.;
71 coeff(n_l, n_l) = (alpha(n_g1) > 1. / fac_sec_) ? -1.14 * C_RC122 * (lambda_RC2 * C_RC0 * (alpha_max_cbrt * alpha_max_cbrt) / 3. / (alpha_clipped_cbrt * alpha_clipped_cbrt) / ((alpha_max_cbrt - alpha_clipped_cbrt) * (alpha_max_cbrt - alpha_clipped_cbrt)) * std::exp(-C_RC0 * (alpha_max_cbrt * alpha_clipped_cbrt) / (alpha_max_cbrt - alpha_clipped_cbrt))) : 0.;
75 coeff(n_l, n_g1) = 0.;
80 coeff(n_g2, n_l) = (alpha(n_g2) > 1. / fac_sec_) ? -95.7 * C_RC2 * lambda_RC2 * formfunc_alpha2 / Dh / Dh : 0.;
83 coeff(n_l, n_g2) = (alpha(n_g2) > 1. / fac_sec_) ? -95.7 * C_RC2 * lambda_RC2 * std::max(1. - 0.37 * std::pow(ratio_Dc_D2, 4.), 0.) / Dh / Dh * C_RC0 * std::exp(-C_RC0 * (alpha(n_g2) * alpha(n_g2))) / 2. / std::sqrt(std::min(alpha(n_g2), 0.81)) : 0.;
86 coeff(n_g1, n_g1) = (alpha(n_g1) > 1. / fac_sec_) ? 4.1 * C_RC1 * lambda_RC1 / (alpha_max_cbrt * alpha_max_cbrt) * formfunc_alpha_p * std::max(1. - 2. / 3. * D_crit / d_bulles(n_g1), 0.) : 0.;
89 coeff(n_g1, n_g2) = (alpha(n_g1) > 1. / fac_sec_) ? -1.14 * C_RC122 * formfunc_alpha * lambda_RC2 : 0.;
92 coeff(n_g2, n_g1) = (alpha(n_g1) > 1. / fac_sec_) ? 1.80 * C_RC122 * lambda_RC2 * formfunc_alpha_p : 0.;
97 const DoubleTab& rho,
const DoubleTab& nu,
const DoubleTab& sigma,
const double Dh,
98 const DoubleTab& ndv,
const DoubleTab& d_bulles,
99 const DoubleTab& eps,
const DoubleTab& k_turb,
const int n_l,
const int n_g1,
const int n_g2,
100 DoubleTab& coeff)
const
103 const double alpha_l1 = 1. - alpha(n_g1);
104 const double alphafonction_3_over2 = std::pow(alpha_l1, 3. / 2.);
105 const double alphafonction_9_over7 = std::pow(alpha_l1, 9. / 7.);
106 const double alphafonction_5_over2 = std::pow(alpha_l1, 5. / 2.);
107 const double C_D1 = 2. / 3. * d_bulles(n_g1) * std::sqrt(g * std::abs(rho(n_l) - rho(n_g1)) / sigma(n_g1, n_l)) * ((1. + 17.67 * alphafonction_9_over7) / (18.67 * alphafonction_3_over2)) * ((1. + 17.67 * alphafonction_9_over7) / (18.67 * alphafonction_3_over2));
108 const double Ur1 = std::min(ndv(n_l, n_g1), std::sqrt(4. / 3. * d_bulles(n_g1) / C_D1 * g * std::abs(rho(n_l) - rho(n_g1)) / rho(n_l) * (alpha(n_l))));
109 const double D_crit = 4. * std::sqrt(sigma(n_g2, n_l) / g / (rho(n_l) - rho(n_g2)));
110 const double d2_eff = std::max(d_bulles(n_g2), D_crit);
111 const double C_D2 = 8. / 3. * (1. - alpha(n_g2)) * (1. - alpha(n_g2));
112 const double Ur2 = std::min(ndv(n_l, n_g2), std::sqrt(4. / 3. * d2_eff / C_D2 * g * std::abs(rho(n_l) - rho(n_g2)) / rho(n_l) * (alpha(n_l))));
113 const double ratio_Dc_D2 = D_crit / d2_eff;
114 const double formfunc_alpha = std::max(1. - std::exp(-0.7 * alpha(n_g2)), 0.) * std::max(1. - 0.1 * ratio_Dc_D2 * ratio_Dc_D2, 0.);
115 const double Uw12 = std::max(0.94 * Ur2 * std::cbrt(C_D2) + Ur1 - Ur2, 0.);
118 coeff(n_g1, n_l) = (alpha(n_g1) > 1. / fac_sec_) ? -0.17 * C_WE1 * std::cbrt(C_D1) * Ur1 : 0.;
121 coeff(n_l, n_g1) = (alpha(n_g1) > 1. / fac_sec_) ? -0.17 * C_WE1 * (Ur1 * 0.097282 * (3. * (17.67 * alphafonction_9_over7 + 1.) / 2. / alphafonction_5_over2 - 22.7186 * std::pow(alpha_l1, 17. / 14.)) / std::cbrt((17.67 * alphafonction_9_over7 + 1.) / alphafonction_3_over2)) : 0.;
124 coeff(n_g2, n_l) = (alpha(n_g2) > 1. / fac_sec_) ? -1.02 * C_WE2 * (0.94 * Ur2 * std::cbrt(C_D2)) * formfunc_alpha : 0.;
125 coeff(n_l, n_g2) = (alpha(n_g2) > 1. / fac_sec_) ? -1.02 * C_WE2 * (0.94 * Ur2 * std::cbrt(C_D2)) * formfunc_alpha : 0.;
128 coeff(n_g1, n_g1) = (alpha(n_g1) > 1. / fac_sec_) ? 2.57 * C_WE112 * C_D1 * Ur1 * std::max(1. - 2. / 3. * D_crit / d_bulles(n_g1), 0.) : 0.;
131 coeff(n_g1, n_g2) = (alpha(n_g1) > 1. / fac_sec_) ? -0.33 * C_WE112 * Uw12 : 0.;
134 coeff(n_g2, n_g1) = (alpha(n_g1) > 1. / fac_sec_) ? 0.922 * C_WE112 * Uw12 : 0.;
void coefficient_WE(const DoubleTab &alpha, const DoubleTab &p, const DoubleTab &T, const DoubleTab &rho, const DoubleTab &nu, const DoubleTab &sigma, double Dh, const DoubleTab &ndv, const DoubleTab &d_bulles, const DoubleTab &eps, const DoubleTab &k_turb, const int n_l, const int n_g1, const int n_g2, DoubleTab &coeff) const override
void coefficient_RC(const DoubleTab &alpha, const DoubleTab &alpha_p, const DoubleTab &p, const DoubleTab &T, const DoubleTab &rho, const DoubleTab &nu, const DoubleTab &sigma, const double Dh, const DoubleTab &ndv, const DoubleTab &d_bulles, const DoubleTab &eps, const DoubleTab &k_turb, const int n_l, const int n_g1, const int n_g2, DoubleTab &coeff) const override