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.
class Champ_Don_base base class of Given Fields (not calculated)
DoubleTab & valeurs() override
Overrides Champ_base::valeurs() Returns the array of values.
DoubleTab & valeurs() override
Returns the array of field values at the current time.
static void verifier(const char *const msg, double)
class Domaine_Cl_dis_base Domaine_Cl_dis_base objects represent discretized boundary conditions
virtual const Champ_Inc_base & inconnue() const
int nb_faces() const
Returns the total number of faces.
DoubleVect & volumes_entrelaces()
class Domaine_dis_base This class is the base of the hierarchy of discretized domains.
Class defining operators and methods for all reading operation in an input flow (file,...
Base class for an incompressible fluid and its properties:
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
Returns the reference to the equation pointed to by MorEqn::mon_equation.
const Nom & que_suis_je() const
Returns the string identifying the class.
virtual Entree & readOn(Entree &)
Reads an Objet_U from an input stream. Virtual method to override.
virtual Sortie & printOn(Sortie &) const
Writes the object to an output stream. Virtual method to override.
class Probleme_base It is a Probleme_U that is not a coupling.
static void exit(int exit_code=-1)
Exit routine for TRUST within a Kokkos region.
Base class for output streams.
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