18#include <Dispersion_bulles_turbulente_Lavieville.h>
19#include <Pb_Multiphase.h>
20#include <QDM_Multiphase.h>
22#include <Frottement_interfacial_base.h>
23#include <Masse_ajoutee_base.h>
36 param.lire_avec_accolades_depuis(is);
40 const Pb_Multiphase& pbm = ref_cast(Pb_Multiphase, pb_.valeur());
56 DoubleTab coeff_drag(N, N);
57 DoubleTab coeff_Cam(N);
65 for (
int k = 0; k < N; k++)
69 double gamma = 0.5 * in.
rho[
n_l] / in.
rho[k] ;
70 double u_r = in.
nv(k,
n_l) ;
72 double tau_f = ( 1. / (2. * gamma) + coeff_Cam(k) ) * 4./3. * in.
d_bulles[k] / ( coeff_drag(k,
n_l) * std::max(u_r, 1e-5) ) ;
74 double b = (1. + coeff_Cam(k)) / (1. / (2. * gamma) + coeff_Cam(k));
75 double eta_r = tau_t / tau_f;
78 double one_plus_eta = 1. + eta_r;
79 double drift_ratio = (b + eta_r) / one_plus_eta;
80 double conc_factor = in.
alpha[k] / std::max(1. - in.
alpha[k], 1e-5);
81 double mixing = drift_ratio + conc_factor;
83 double term_added_mass = coeff_Cam(k) * (b * (b - 1.) / one_plus_eta + eta_r * mixing);
84 double term_inertia = 1. / (2. * gamma) * ((b * b + eta_r) / one_plus_eta + eta_r * (drift_ratio + in.
alpha[k] / std::max(1. - in.
alpha[k], 1e-3)));
87 out.
Ctd(k,
n_l) = term_added_mass + term_inertia - term_kinetic;
static void typer_lire_correlation(OWN_PTR(Correlation_base)&, const Probleme_base &, const Nom &, Entree &)
classe Dispersion_bulles_base utilitaire pour les operateurs de dispersion turbulente ou la force
int find_liquid_phase() const
Finds the continuous liquid phase index in a multiphase problem.
Turbulent bubble dispersion model based on the Lavieville model.
void coefficient(const input_t &input, output_t &output) const override
Class defining operators and methods for all reading operation in an input flow (file,...
classe Frottement_interfacial_base utilitaire pour les operateurs de frottement interfacial prenant l...
virtual 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
classe Masse_ajoutee_base masse ajoutee de la forme
virtual void coeff(const DoubleTab &alpha, const DoubleTab &rho, DoubleTab &coeff) const =0
const Nom & que_suis_je() const
renvoie la chaine identifiant la classe.
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
int has_correlation(std::string nom_correlation) const
const Correlation_base & get_correlation(std::string nom_correlation) const
Classe de base des flux de sortie.
_SIZE_ dimension(int d) const