58 const DoubleTab& alp = pb_->get_champ(
"alpha").passe();
59 const DoubleTab& diam = pb_->get_champ(
"diametre_bulles").valeurs();
60 const DoubleTab& tab_u = pb_->get_champ(
"vitesse").passe();
67 DoubleTrav Rij(0, N, D, D);
71 ConstDoubleTab_parts p_u(tab_u);
72 for (
int i = 0; i < p_u.
size(); i++)
77 Process::exit(
"Viscosite_turbulente_WIF : inconsistency between velocity and Rij!");
79 const DoubleTab& u = p_u[i_part];
82 for (
int i = 0; i < u_r.
dimension(0); i++)
84 for (
int d = 0; d < D; d++)
85 u_r(i, 0) += (u(i, d, 1) - u(i, d, 0))*(u(i, d, 1) - u(i, d, 0));
86 u_r(i, 0) = std::sqrt(u_r(i, 0));
90 const double gamma_p2s3 = std::cbrt(gamma_*gamma_);
92 for (
int i = 0; i < nl; i++)
93 if (alp(i, 0) >= limiteur_alpha_)
94 for (
int d = 0; d < D; d++)
95 for (
int db = 0; db < D; db++)
98 const double temps_carac = (u_r(i,0) != 0) ? 2./3. * 1./(delta_*delta_*delta_)*diam(i, 1) / (gamma_p2s3*alp(i, 1)*u_r(i,0)) : 0 ;
99 nu(i, 0, d, db) += mu0(i, 0) / nu0(i, 0) * C_s_ * std::max(temps_carac * Rij(i, 0, d, db), visc_turb.
limiteur() * nu(i, 0, d, db));