16#include <Energie_cinetique_turbulente.h>
17#include <EcritureLectureSpecial.h>
18#include <Scalaire_impose_paroi.h>
19#include <Champ_Face_PolyMAC_MPFA.h>
20#include <Echange_global_impose.h>
21#include <Schema_Implicite_base.h>
22#include <Neumann_sortie_libre.h>
23#include <Op_Conv_negligeable.h>
24#include <Frontiere_dis_base.h>
25#include <Navier_Stokes_std.h>
26#include <Champ_Uniforme.h>
27#include <Matrice_Morse.h>
28#include <Neumann_paroi.h>
29#include <Probleme_base.h>
30#include <Discret_Thyd.h>
31#include <Domaine_VF.h>
41 "Energie_cinetique_turbulente",
53 terme_convectif.set_description((Nom)
"Turbulent kinetic energy transfer rate=Integral(-rho*k*ndS) [W] if SI units used");
54 terme_diffusif.set_fichier(
"Diffusion_energie_cinetique_turbulente");
55 terme_diffusif.set_description((Nom)
"Turbulent kinetic energy transfer rate=Integral(mu*grad(k)*ndS) [W] if SI units used");
80 Cerr <<
"Turbulent kinetic energy discretization" << finl;
83 nb_valeurs_temp, temps, l_inco_ch);
84 l_inco_ch->fixer_nature_du_champ(scalaire);
85 l_inco_ch->fixer_nom_compo(0,
Nom(
"k"));
88 Cerr <<
"Energie_cinetique_turbulente::discretiser() ok" << finl;
101 Cerr <<
"Limiting the value of K : coeff used = " <<
coef_limit_ << finl;
107 for (
int e = 0; e < domaine.nb_elem(); e++)
108 for (
int n = 0; n < N; n++)
111 for (
int d = 0 ; d < D ; d++)
112 norm_v2 += ch_vit.
passe()(e, N*d + n);
113 k_val(e, n) = std::min(k_val(e, n),
coef_limit_*norm_v2);
138 for (
int i = 0; i < Nl; i++)
139 for (
int n = 0; n < N; n++)
145 for (
int i = 0; i < Nb; i++)
146 for (
int n = 0; n < N; n++) bval(i, n) = b_k(i, n);
149 DoubleTab& d_k = deriv[
"k"];
151 for (
int i = 0; i < Nl; i++)
152 for (
int n = 0; n < N; n++)
classe Champ_Don_base classe de base des Champs donnes (non calcules)
: class Champ_Face_PolyMAC_MPFA
DoubleTab & passe(int i=1) override
Renvoie les valeurs du champs a l'instant t-i.
DoubleTab & valeurs() override
Renvoie le tableau des valeurs du champ au temps courant.
DoubleTab valeur_aux_bords() const override
renvoie la valeur du champ aux faces de bord
classe Champ_base Cette classe est la base de la hierarchie des champs.
Operateur_Diff terme_diffusif
Operateur_Conv terme_convectif
classe Convection_diffusion_turbulence_multiphase Equation de transport des quantites turbulentes (k,...
const Milieu_base & milieu() const override
Renvoie le milieu physique de l'equation.
const Champ_Inc_base & inconnue() const override
Renvoie le champ inconnue representant l'inconnue (k, omega, epsilon, tau) (version const).
classe Discret_Thyd Cette classe est la classe de base representant une discretisation
void discretiser_champ(const Motcle &directive, const Domaine_dis_base &z, const Nom &nom, const Nom &unite, int nb_comp, int nb_pas_dt, double temps, OWN_PTR(Champ_Inc_base)&champ, const Nom &sous_type=NOM_VIDE) const
classe Energie_cinetique_turbulente Equation de transport d'une energie cinetique turbulente (modeles...
const Champ_Don_base & diffusivite_pour_transport() const override
void discretiser() override
Discretise l'equation.
const Champ_base & diffusivite_pour_pas_de_temps() const override
void mettre_a_jour(double) override
La valeur de l'inconnue sur le pas de temps a ete calculee.
static void calculer_alpha_rho_k(const Objet_U &obj, DoubleTab &val, DoubleTab &bval, tabs_t &deriv)
void set_param(Param &titi) const override
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
const Discretisation_base & discretisation() const
Renvoie la discretisation associee a l'equation.
virtual const Champ_Inc_base & inconnue() const =0
virtual void mettre_a_jour(double temps)
La valeur de l'inconnue sur le pas de temps a ete calculee.
Probleme_base & probleme()
Renvoie le probleme associe a l'equation.
Schema_Temps_base & schema_temps()
Renvoie le schema en temps associe a l'equation.
virtual void discretiser()
Discretise l'equation.
Champs_compris champs_compris_
Domaine_dis_base & domaine_dis()
Renvoie le domaine discretise associe a l'equation.
classe Fluide_base Cette classe represente un d'un fluide incompressible ainsi que
classe Navier_Stokes_std Cette classe porte les termes de l'equation de la dynamique
virtual const Champ_Inc_base & vitesse() const
class Nom Une chaine de caractere pour nommer les objets de TRUST
classe Objet_U Cette classe est la classe de base des Objets de TRUST
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(const char *keyword, const int *value, Param::Nature nat=Param::OPTIONAL)
Register an integer parameter.
double temps_courant() const
Renvoie le temps courant.
virtual int nb_valeurs_temporelles() const =0
Classe de base des flux de sortie.
void resize(_SIZE_ n, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT)
_SIZE_ dimension_tot(int) const override
virtual void echange_espace_virtuel(IsExchangeBlocking exchange_type=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname")