37 const Pb_Multiphase *pbm = sub_type(Pb_Multiphase, pb_.valeur()) ? &ref_cast(Pb_Multiphase, pb_.valeur()) : nullptr;
58 const DoubleTab& rho,
const DoubleTab& mu,
const DoubleTab& sigma,
double Dh,
59 const DoubleTab& ndv,
const DoubleTab& d_bulles, DoubleTab& coeff)
const
65 for (
int k = 0; k < N; k++)
68 int ind_trav = (k>
n_l) ? (
n_l*(N-1)-(
n_l-1)*(
n_l)/2) + (k-
n_l-1) : (k*(N-1)-(k-1)*(k)/2) + (
n_l-k-1);
70 double Re = rho(
n_l) * std::max(ndv(
n_l,k), 1.e-6) * d_bulles(k)/mu(
n_l);
71 double dndv_Re = rho(
n_l) * (ndv(
n_l,k)> 1.e-6 ? 1. : 0. ) * d_bulles(k)/mu(
n_l);
72 double Eo =
g_ * std::abs(rho(
n_l)-rho(k)) * d_bulles(k)*d_bulles(k)/sigma(ind_trav);
76 if (
contamination_==0) Cd =
beta_ * std::max( std::min( 16./Re*(1+0.15*std::pow(Re, 0.687)) , 48./Re ) , 8.*Eo/(3.*(Eo+4.)));
77 if (
contamination_==1) Cd =
beta_ * std::max( std::min( 24./Re*(1+0.15*std::pow(Re, 0.687)) , 72./Re ) , 8.*Eo/(3.*(Eo+4.)));
78 if (
contamination_==2) Cd =
beta_ * std::max( 24./Re*(1+0.15*std::pow(Re, 0.687)) , 8.*Eo/(3.*(Eo+4.)));
80 if ((
contamination_==0) && (16./Re*(1+0.15*std::pow(Re, 0.687)) < 48./Re ) && (16./Re*(1+0.15*std::pow(Re, 0.687)) > 8.*Eo/(3.*(Eo+4.))) )
81 dndv_Cd =
beta_ * -16.*dndv_Re/(Re*Re)*(1+0.15*std::pow(Re, 0.687)) +
beta_ * 16./Re*0.15*dndv_Re*0.687*std::pow(Re, 0.687-1.);
82 else if ((
contamination_==0) && (16./Re*(1+0.15*std::pow(Re, 0.687)) > 48./Re ) && (48./Re > 8.*Eo/(3.*(Eo+4.))) )
83 dndv_Cd =
beta_ * -48.*dndv_Re/(Re*Re);
84 else if ((
contamination_==1) && (24./Re*(1+0.15*std::pow(Re, 0.687)) < 72./Re ) && (24./Re*(1+0.15*std::pow(Re, 0.687)) > 8.*Eo/(3.*(Eo+4.))) )
85 dndv_Cd =
beta_ * -24.*dndv_Re/(Re*Re)*(1+0.15*std::pow(Re, 0.687)) +
beta_ * 24./Re*0.15*dndv_Re*0.687*std::pow(Re, 0.687-1.);
86 else if ((
contamination_==1) && (24./Re*(1+0.15*std::pow(Re, 0.687)) > 72./Re ) && (72./Re > 8.*Eo/(3.*(Eo+4.))) )
87 dndv_Cd =
beta_ * -72.*dndv_Re/(Re*Re);
88 else if ((
contamination_==2) && (24./Re*(1+0.15*std::pow(Re, 0.687)) > 8.*Eo/(3.*(Eo+4.))) )
89 dndv_Cd =
beta_ * -24.*dndv_Re/(Re*Re)*(1+0.15*std::pow(Re, 0.687)) +
beta_ * 24./Re*0.15*dndv_Re*0.687*std::pow(Re, 0.687-1.);
91 if (alpha(
n_l) > 1.e-6)
93 coeff(k,
n_l, 0) = 3./4.*Cd/d_bulles(k) * alpha(k) * rho(
n_l) * ndv(
n_l,k);
94 coeff(
n_l, k, 0) = coeff(k,
n_l, 0);
95 coeff(k,
n_l, 1) = 3./4.*Cd/d_bulles(k) * alpha(k) * rho(
n_l) + 3./4.*dndv_Cd/d_bulles(k) * alpha(k) * rho(
n_l) * ndv(
n_l,k);
96 coeff(
n_l, k, 1) = coeff(k,
n_l, 1);
100 coeff(k,
n_l, 0) = 3./4.*Cd/d_bulles(k) * alpha(k) * rho(
n_l) * ndv(
n_l,k) * alpha(
n_l) * 1.e6;
101 coeff(
n_l, k, 0) = coeff(k,
n_l, 0);
102 coeff(k,
n_l, 1) = (3./4.*Cd/d_bulles(k) * alpha(k) * rho(
n_l) + 3./4.*dndv_Cd/d_bulles(k) * alpha(k) * rho(
n_l) * ndv(
n_l,k) )* alpha(
n_l) * 1.e6;
103 coeff(
n_l, k, 1) = coeff(k,
n_l, 1);
110 const DoubleTab& rho,
const DoubleTab& mu,
const DoubleTab& sigma,
double Dh,
111 const DoubleTab& ndv,
const DoubleTab& d_bulles, DoubleTab& coeff)
const
117 for (
int k = 0; k < N; k++)
120 int ind_trav = (k>
n_l) ? (
n_l*(N-1)-(
n_l-1)*(
n_l)/2) + (k-
n_l-1) : (k*(N-1)-(k-1)*(k)/2) + (
n_l-k-1);
122 double Re = rho(
n_l) * std::max(ndv(
n_l,k), 1.e-6) * d_bulles(k)/mu(
n_l);
123 double Eo =
g_ * std::abs(rho(
n_l)-rho(k)) * d_bulles(k)*d_bulles(k)/sigma(ind_trav);
125 if (
contamination_==0) Cd =
beta_ * std::max( std::min( 16./Re*(1+0.15*std::pow(Re, 0.687)) , 48./Re ) , 8.*Eo/(3.*(Eo+4.)));
126 if (
contamination_==1) Cd =
beta_ * std::max( std::min( 24./Re*(1+0.15*std::pow(Re, 0.687)) , 72./Re ) , 8.*Eo/(3.*(Eo+4.)));
127 if (
contamination_==2) Cd =
beta_ * std::max( 24./Re*(1+0.15*std::pow(Re, 0.687)) , 8.*Eo/(3.*(Eo+4.)));
129 coeff(k,
n_l) = (coeff(
n_l, k) = Cd);
void coefficient_CD(const DoubleTab &alpha, const DoubleTab &p, const DoubleTab &T, const DoubleTab &rho, const DoubleTab &mu, const DoubleTab &sigma, double Dh, const DoubleTab &ndv, const DoubleTab &d_bulles, DoubleTab &coeff) const override
void coefficient(const DoubleTab &alpha, const DoubleTab &p, const DoubleTab &T, const DoubleTab &rho, const DoubleTab &mu, const DoubleTab &sigma, double Dh, const DoubleTab &ndv, const DoubleTab &d_bulles, DoubleTab &coeff) const override