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++)
class Champ_Don_base base class of Given Fields (not calculated)
: class Champ_Face_PolyMAC_MPFA
DoubleTab & passe(int i=1) override
Returns field values at instant t-i.
DoubleTab & valeurs() override
Returns the array of field values at the current time.
DoubleTab valeur_aux_bords() const override
Returns the field value at the boundary faces.
class Champ_base This class is the base of the fields hierarchy.
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).
class Discret_Thyd This class is the base class representing a discretization
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
Discretizes the equation.
const Champ_base & diffusivite_pour_pas_de_temps() const override
void mettre_a_jour(double) override
The value of the unknown at the time step has been calculated.
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,...
class Equation_base The role of an equation is the calculation of one or more fields....
virtual void set_param(Param &titi) const override
const Discretisation_base & discretisation() const
Returns the discretization associated with the equation.
virtual const Champ_Inc_base & inconnue() const =0
virtual void mettre_a_jour(double temps)
The value of the unknown at the time step has been calculated.
Probleme_base & probleme()
Returns the problem associated with the equation.
Schema_Temps_base & schema_temps()
Returns the time scheme associated with the equation.
virtual void discretiser()
Discretizes the equation.
Champs_compris champs_compris_
Domaine_dis_base & domaine_dis()
Returns the discretized domain associated with the equation.
Base class for an incompressible fluid and its properties:
Navier_Stokes_std This class carries the terms of the momentum equation.
virtual const Champ_Inc_base & vitesse() const
class Nom: a character string for naming TRUST objects.
Base class for TRUST objects (Objet_U).
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.
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
Returns the current time.
virtual int nb_valeurs_temporelles() const =0
Base class for output streams.
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")