16#include <Source_Transport_K_Eps_Realisable_VDF_Elem.h>
17#include <Modele_turbulence_hyd_K_Eps_Realisable.h>
18#include <Milieu_base.h>
34 return eqn_keps_Rea->modele_turbulence().viscosite_turbulente().valeurs();
40 return mod_turb.associe_modele_fonction();
45 const DoubleTab& K_eps_Rea = eqn_keps_Rea->inconnue().valeurs();
53 const DoubleTab& K_eps_Rea = eqn_keps_Rea->inconnue().valeurs();
55 const DoubleVect& volumes = le_dom_VDF->volumes(), &porosite_vol = le_dom_Cl_VDF->equation().milieu().porosite_elem();
58 for (
int elem = 0; elem < le_dom_VDF->nb_elem(); elem++)
60 if (!is_visco_const) visco = tab_visco(elem);
62 resu(elem,0) += ( P(elem)-K_eps_Rea(elem,1) )*volumes(elem)*porosite_vol(elem);
63 if ( ( K_eps_Rea(elem,0) >= LeK_MIN ) and ( K_eps_Rea(elem,1) >= LeEPS_MIN ) )
64 resu(elem,1) += K_eps_Rea(elem,1)*( CC1(elem)*S(elem) - (
C2*K_eps_Rea(elem,1)/( K_eps_Rea(elem,0) + sqrt( visco*K_eps_Rea(elem,1) ) ) ) )*volumes(elem)*porosite_vol(elem);
70 const DoubleTab& K_eps_Rea = eqn_keps_Rea->inconnue().valeurs(), &vit = eq_hydraulique->inconnue().valeurs();
71 const double epsilon_minimum = eqn_keps_Rea->modele_turbulence().get_EPS_MIN();
73 mon_modele_fonc.
Contributions_Sources(eqn_keps_Rea ->domaine_dis(),eqn_keps_Rea->domaine_Cl_dis(),vit,K_eps_Rea,epsilon_minimum);
80 for (
int c = 0; c < val.
dimension(0); c++)
82 if (!is_visco_const) visco = tab_visco(c);
84 if (val(c,0) > DMINFLOAT)
86 double coef_k = porosite(c)*volumes(c)*val(c,1)/( val(c,0) + sqrt( visco*val(c,1) ) );
87 matrice(c*2,c*2) += coef_k;
88 double coef_eps =
C2*coef_k;
89 matrice(c*2+1,c*2+1) += coef_eps;
DoubleVect & calculer_terme_production_K(const Domaine_VDF &, const Domaine_Cl_VDF &, DoubleVect &, const DoubleTab &, const DoubleTab &, const Champ_Face_VDF &, const DoubleTab &) const
DoubleVect & calculer_terme_production_K_Axi(const Domaine_VDF &, const Champ_Face_VDF &, DoubleVect &, const DoubleTab &, const DoubleTab &) const
class Champ_Face_VDF Cette classe sert a representer un champ vectoriel dont on ne calcule
DoubleTab & valeurs() override
Renvoie le tableau des valeurs du champ au temps courant.
Class defining operators and methods for all reading operation in an input flow (file,...
virtual const Champ_Inc_base & inconnue() const =0
Classe Matrice_Morse Represente une matrice M (creuse), non necessairement carree.
virtual void Contributions_Sources(const Domaine_dis_base &domaine_dis, const Domaine_Cl_dis_base &domaine_Cl_dis, const DoubleTab &vitesse, const DoubleTab &K_Eps, const double EPS_MIN)=0
double get_EPS_MIN() const
class Modele_turbulence_hyd_K_Eps_Realisable
const Equation_base & equation() const
Renvoie la reference sur l'equation pointe par MorEqn::mon_equation.
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.
classe Probleme_base C'est un Probleme_U qui n'est pas un couplage.
Classe de base des flux de sortie.
void ajouter_blocs(matrices_t matrices, DoubleTab &secmem, const tabs_t &semi_impl) const override
void mettre_a_jour(double temps) override
DOES NOTHING - to override in derived classes.
const Modele_Fonc_Realisable_base & get_modele_fonc() const override
const DoubleTab & get_visc_turb() const override
void calculer_terme_production_real(const Champ_Face_VDF &, const DoubleTab &, const DoubleTab &, DoubleTrav &) const override
void fill_resu_real(const int, const DoubleTab &, const DoubleTrav &, const DoubleTrav &, const DoubleTrav &, double &, DoubleTab &) const override
void fill_coeff_matrice(const int, const DoubleTab &, const DoubleVect &, const DoubleVect &, double &, Matrice_Morse &) const override
void associer_pb(const Probleme_base &) override
void ajouter_blocs(matrices_t matrices, DoubleTab &secmem, const tabs_t &semi_impl) const override
DoubleTab & ajouter_keps_real(DoubleTab &) const
virtual void mettre_a_jour(double temps)
DOES NOTHING - to override in derived classes.
virtual void associer_pb(const Probleme_base &)=0
_SIZE_ dimension(int d) const