15#include <Transport_2eq_base.h>
16#include <Schema_Temps_base.h>
17#include <Champ_Inc_P0_base.h>
18#include <communications.h>
19#include <Probleme_base.h>
20#include <Discret_Thyd.h>
21#include <Domaine_VF.h>
56 param.
ajouter_condition(
"is_read_diffusion",
"The diffusion operator must be read, select negligeable type if you want to neglect it.");
57 param.
ajouter_condition(
"is_read_convection",
"The convection operator must be read, select negligeable type if you want to neglect it.");
65 Motcle accouverte =
"{", accfermee =
"}";
66 Nom type =
"Op_Diff_K_";
69 if (eps_or_omega.
contient(
"Omega")) type +=
"Omega_";
73 Cerr <<
">>>>>>> Nom eq = " << qc << finl;
74 if (qc==
"Navier_Stokes_QC" || qc ==
"Navier_Stokes_Turbulent_QC")
81 if (discr ==
"VEFPreP1B") discr =
"VEF";
89 nb_inc =
"_Multi_inco_";
93 if (type_inco ==
"Champ_Q1_EF") type +=
"Q1";
94 else type += (type_inco.
suffix(
"Champ_"));
96 if (
axi) type +=
"_Axi";
100 if (motbidon != accouverte)
102 Cerr <<
"A { was expected while reading the turbulent diffusive term" << finl;
106 if (motbidon ==
"negligeable")
108 type =
"Op_Dift_negligeable";
114 if (motbidon != accfermee)
115 Cerr <<
" On ne peut plus entrer d option apres negligeable " << finl;
117 else if (motbidon == accfermee)
128 if (motbidon != accfermee)
129 Cerr <<
" No option are now readable for the turbulent diffusive term" << finl;
147 position += (
Nom)domaine_vf.
xv(n, 0);
149 position += (
Nom)domaine_vf.
xv(n, 1);
153 position += (
Nom)domaine_vf.
xv(n, 2);
163 position += (
Nom)domaine_vf.
xp(n, 0);
165 position += (
Nom)domaine_vf.
xp(n, 1);
169 position += (
Nom)domaine_vf.
xp(n, 2);
179 le_fluide = un_milieu;
190 Cerr <<
"No fluid has been associated to the two equations Transport"
194 return le_fluide.valeur();
207 Cerr <<
"No fluid has been associated to the Transport K_Epsilon"
211 return le_fluide.valeur();
double xv(int num_face, int k) const
double xp(int num_elem, int k) const
Class defining operators and methods for all reading operation in an input flow (file,...
classe Equation_base Le role d'une equation est le calcul d'un ou plusieurs champs....
virtual void set_param(Param &titi) const override
virtual void associer_domaine_dis(const Domaine_dis_base &)
Associe le domaine discretise a l'equation.
virtual void associer_pb_base(const Probleme_base &)
S'associe au Probleme passe en parametre.
const Discretisation_base & discretisation() const
Renvoie la discretisation associee a l'equation.
virtual const Champ_Inc_base & inconnue() const =0
Probleme_base & probleme()
Renvoie le probleme associe a l'equation.
virtual void associer_sch_tps_base(const Schema_Temps_base &)
S'associe au schema_en_temps.
Schema_Temps_base & schema_temps()
Renvoie le schema en temps associe a l'equation.
Domaine_dis_base & domaine_dis()
Renvoie le domaine discretise associe a l'equation.
virtual double calculer_pas_de_temps() const
Calcul du prochain pas de temps.
classe Milieu_base Cette classe est la base de la hierarchie des milieux (physiques)
Equation_base & equation()
Renvoie l'equation associee au modele de turbulence.
Une chaine de caractere (Nom) en majuscules.
class Nom Une chaine de caractere pour nommer les objets de TRUST
bool contient(const Nom &nom) const
Nom & suffix(const char *const)
Extraction de suffixe : Nom x("azerty");.
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_flag(const char *keyword, const bool *value)
Register a boolean flag whose mere presence switches it to true.
void ajouter_condition(const char *condition, const char *message, const char *name=0)
Declare a post-read logical condition that must hold on the parameter values.
void ajouter_non_std(const char *keyword, const Objet_U *value, Param::Nature nat=Param::OPTIONAL)
Register a keyword handled by Objet_U::lire_motcle_non_standard.
virtual const Equation_base & equation(int) const =0
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Classe de base des flux de sortie.
Classe Transport_2eq_base Classe de base pour les equations.
void set_param(Param &) const override
Milieu_base & milieu() override
Renvoie le milieu (fluide) associe a l'equation.
const Modele_turbulence_hyd_2_eq_base & modele_turbulence() const
Renvoie le modele de turbulence associe a l'equation.
Operateur_Diff terme_diffusif
void associer(const Equation_base &)
void get_position_cells(Nom &, int &)
bool disable_VEF_mean_value_corrections_
void associer_milieu_base(const Milieu_base &) override
Associe un milieu physique a l'equation.
void get_position_faces(Nom &, int &)
double calculer_pas_de_temps() const override
Calcul du prochain pas de temps.
Entree & lire_op_diff_turbulent(Entree &is)