16#include <Frottement_interfacial_base.h>
17#include <Dispersion_bulles_base.h>
18#include <Portance_interfaciale_base.h>
19#include <Vitesse_derive_Forces.h>
20#include <Pb_Multiphase.h>
46 const double norm_g = sqrt(local_carre_norme_vect(in.
g));
49 double dv0 = 0.2, epsilon = 1.e-4;
50 int step = 1, iter_max = 20;
51 DoubleTab p, T, dv(N, N), coeff(N, N, 2), alpha_l(N);
54 for (
int n=0; n<N ; n++) alpha_l(n)= std::max(in.
alpha(n),
alpha_lim_), sum_alpha+=alpha_l(n);
55 for (
int n=0; n<N ; n++) alpha_l(n)/=sum_alpha;
72 for (
int d = 0; d < D; d++)
vg0(d) = - dv0 * in.
g(d) / norm_g;
100 forces(0) -= out_pi.
Cl(
n_l,
n_g) * (- dv0 * in.
g(1) / norm_g * in.
vort(0,
n_l)) ;
101 forces(1) += out_pi.
Cl(
n_l,
n_g) * (- dv0 * in.
g(0) / norm_g * in.
vort(0,
n_l)) ;
105 forces(0) -= out_pi.
Cl(
n_l,
n_g) * (- dv0 * in.
g(1) / norm_g * in.
vort(2,
n_l) + dv0 * in.
g(2) / norm_g * in.
vort(1,
n_l)) ;
106 forces(1) -= out_pi.
Cl(
n_l,
n_g) * (- dv0 * in.
g(2) / norm_g * in.
vort(0,
n_l) + dv0 * in.
g(0) / norm_g * in.
vort(2,
n_l)) ;
107 forces(2) -= out_pi.
Cl(
n_l,
n_g) * (- dv0 * in.
g(0) / norm_g * in.
vort(1,
n_l) + dv0 * in.
g(1) / norm_g * in.
vort(0,
n_l)) ;
112 for (
int d = 0; d < D; d++)
vg0(d) += forces(d)/coeff(
n_g,
n_l,0) ;
113 for (
int d = 0; d < D; d++)
vg0(d) *= (1.0 -
C0 * in.
alpha(
n_g)) ;
classe Dispersion_bulles_base utilitaire pour les operateurs de dispersion turbulente ou la force
virtual void coefficient(const input_t &input, output_t &output) const =0
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(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 =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.
Helper class to factorize the readOn method of Objet_U classes.
void ajouter(const char *keyword, const int *value, Param::Nature nat=Param::OPTIONAL)
Register an integer parameter.
classe Pb_Multiphase Cette classe represente un probleme de thermohydraulique multiphase de type "3*N...
classe Portance_interfaciale_base utilitaire pour les operateurs de frottement interfacial prenant la...
virtual void coefficient(const input_t &input, output_t &output) const =0
void creer_champ(const Motcle &motlu) override
int has_correlation(std::string nom_correlation) const
const Correlation_base & get_correlation(std::string nom_correlation) const
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Classe de base des flux de sortie.
void resize(_SIZE_ n, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT)
_SIZE_ dimension(int d) const
classe Vitesse_derive_Forces
void evaluate_C0_vg0(const input_t &input) const override
void completer() override
void set_param(Param ¶m) const override
classe Vitesse_derive_base
void set_param(Param ¶m) const override