16#include <Source_Transport_K_Eps_Bas_Reynolds_VEF_Face.h>
17#include <Modele_turbulence_hyd_K_Eps_Bas_Reynolds.h>
18#include <Fluide_base.h>
19#include <Domaine_Cl_VEF.h>
21#include <Domaine_VEF.h>
37 Debog::verifier(
"Source_Transport_K_Eps_Bas_Reynolds_VEF_Face::ajouter resu 0", resu);
40 const Domaine_VEF& domaine_VEF = le_dom_VEF.valeur();
48 const DoubleTab& vit = eq_hydraulique->inconnue().
valeurs();
50 const int nb_faces = domaine_VEF.
nb_faces();
52 DoubleTrav P(nb_faces), D(vol_ent), E(vol_ent), F1(nb_faces), F2(nb_faces);
54 mon_modele_fonc.
Calcul_D(D, domaine_dis_keps, zcl_keps, vit, K_eps_Bas_Re, ch_visco_cin);
56 mon_modele_fonc.
Calcul_E(E, domaine_dis_keps, zcl_keps, vit, K_eps_Bas_Re, ch_visco_cin, visco_turb);
57 mon_modele_fonc.
Calcul_F2(F2, D, domaine_dis_keps, K_eps_Bas_Re, ch_visco_cin);
61 Cerr <<
"Error 'interpolation_viscosite_turbulente' must be equal to '0' in this case." << finl;
66 Debog::verifier(
"Source_Transport_K_Eps_Bas_Reynolds_VEF_Face::ajouter P 0", P);
67 Debog::verifier(
"Source_Transport_K_Eps_Bas_Reynolds_VEF_Face::ajouter D 0", D);
68 Debog::verifier(
"Source_Transport_K_Eps_Bas_Reynolds_VEF_Face::ajouter E 0", E);
69 Debog::verifier(
"Source_Transport_K_Eps_Bas_Reynolds_VEF_Face::ajouter F1 0", F1);
70 Debog::verifier(
"Source_Transport_K_Eps_Bas_Reynolds_VEF_Face::ajouter F2 0", F2);
72 for (
int num_face = 0; num_face < nb_faces; num_face++)
74 if (K_eps_Bas_Re(num_face, 0) >= 1.e-20 && K_eps_Bas_Re(num_face, 1) > 1.e-20)
76 resu(num_face, 0) += (P(num_face) - K_eps_Bas_Re(num_face, 1) - D(num_face)) * vol_ent(num_face);
77 resu(num_face, 1) += ((
C1 * F1(num_face) * P(num_face) -
C2 * F2(num_face) * K_eps_Bas_Re(num_face, 1)) * K_eps_Bas_Re(num_face, 1) / K_eps_Bas_Re(num_face, 0) + E(num_face))
82 resu(num_face, 0) += 0.;
83 resu(num_face, 1) += 0.;
DoubleTab & calculer_terme_production_K(const Domaine_VEF &, const Domaine_Cl_VEF &, DoubleTab &, const DoubleTab &, const DoubleTab &, const DoubleTab &, const int &interpol_visco, const double &limiteur, const bool &deactivate_production_limiter=false, const double &cst_production_limiter=0.) const
Compute the production term for the turbulent kinetic energy.
classe Champ_Don_base classe de base des Champs donnes (non calcules)
DoubleTab & valeurs() override
Surcharge Champ_base::valeurs() Renvoie le tableau des valeurs.
DoubleTab & valeurs() override
Renvoie le tableau des valeurs du champ au temps courant.
static void verifier(const char *const msg, double)
classe Domaine_Cl_dis_base Les objets Domaine_Cl_dis_base representent les conditions aux limites
virtual const Champ_Inc_base & inconnue() const
int nb_faces() const
renvoie le nombre global de faces.
DoubleVect & volumes_entrelaces()
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.
Class defining operators and methods for all reading operation in an input flow (file,...
classe Fluide_base Cette classe represente un d'un fluide incompressible ainsi que
const Champ_Don_base & viscosite_cinematique() const
virtual DoubleTab & Calcul_E(DoubleTab &, const Domaine_dis_base &, const Domaine_Cl_dis_base &, const DoubleTab &, const DoubleTab &, const Champ_Don_base &, const DoubleTab &) const =0
virtual DoubleTab & Calcul_F2(DoubleTab &, DoubleTab &, const Domaine_dis_base &, const DoubleTab &, const Champ_base &) const =0
virtual DoubleTab & Calcul_D(DoubleTab &, const Domaine_dis_base &, const Domaine_Cl_dis_base &, const DoubleTab &, const DoubleTab &, const Champ_Don_base &) const =0
class Modele_turbulence_hyd_K_Eps_Bas_Reynolds
const Champ_Fonc_base & viscosite_turbulente() const
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.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Classe de base des flux de sortie.
void associer_pb(const Probleme_base &) override
DoubleTab & ajouter(DoubleTab &) const override
void associer_pb(const Probleme_base &pb) override
virtual void echange_espace_virtuel(IsExchangeBlocking exchange_type=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname")
double _coefficient_limiteur
int _interpolation_viscosite_turbulente