16#ifndef Turbulence_paroi_scal_base_included
17#define Turbulence_paroi_scal_base_included
19#include <Champs_compris_interface.h>
20#include <Champ_Fonc_base.h>
21#include <Champs_compris.h>
22#include <TRUSTVects.h>
59 Cerr <<
"imprimer_nusselt not implemented for " <<
que_suis_je() << finl;
105 KOKKOS_INLINE_FUNCTION
106 double T_plus(
double y_plus,
double Pr,
double Prdt_sur_kappa);
127 Champs_compris champs_compris_;
136KOKKOS_INLINE_FUNCTION
139 double Gamma = (0.01 * pow(Pr * y_plus, 4.)) / (1. + 5. * pow(Pr, 3.) * y_plus);
140 double Beta = pow(3.85 * pow(Pr, 1. / 3.) - 1.3, 2.) + Prdt_sur_kappa * log(Pr);
141 return Pr * y_plus * exp(-Gamma) + (Prdt_sur_kappa * log(1. + y_plus) + Beta) * exp(-1. / (Gamma + 1e-20));
151 mon_modele_turb_scal = le_modele;
class Champ_Fonc_base Base class of fields that are functions of a calculated quantity
class Champ_base This class is the base of the fields hierarchy.
class Champs_compris_interface This class contains an interface of methods intended to manage
class Domaine_Cl_dis_base Domaine_Cl_dis_base objects represent discretized boundary conditions
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 scalar turbulence models coupled to a Navier-Stokes convection-diffusion equation.
A character string (Nom) in uppercase.
class Nom: a character string for naming TRUST objects.
An array of character strings (VECT(Nom)).
const Nom & que_suis_je() const
Returns the string identifying the class.
Objet_U()
Default constructor: assigns a unique identifier to the object (object_id_) and registers the object ...
class Probleme_base It is a Probleme_U that is not a coupling.
Base class for output streams.
Base class for the hierarchy of scalar wall-law models computing turbulent quantities near walls....
int tab_equivalent_distance_size()
OBS_PTR(Domaine_VF) le_dom_dis_
int reprendre(Entree &is) override
Restores an Objet_U from an input stream. Virtual method to override.
DoubleVects equivalent_distance_
double equivalent_distance(int bord, int face) const
int sauvegarder(Sortie &os) const override
Saves an Objet_U to an output stream. Virtual method to override.
KOKKOS_INLINE_FUNCTION double T_plus(double y_plus, double Pr, double Prdt_sur_kappa)
int calcul_ldp_en_flux_impose_
virtual bool use_equivalent_distance() const
Give a boolean indicating if we need to use equivant distance by default we consider that we use the ...
void imprimer_premiere_ligne_nusselt(int, const LIST(Nom)&, const Nom &) const
Writes header line for Nusselt number and heat transfer statistics file.
static void typer_lire_turbulence_paroi_scal(OWN_PTR(Turbulence_paroi_scal_base)&, const Modele_turbulence_scal_base &, Entree &)
Reads the characteristics of the scalar wall law from an input stream.
virtual std::vector< YAML_data > data_a_sauvegarder() const
void creer_champ(const Motcle &motlu) override
virtual DoubleVect & equivalent_distance_name(DoubleVect &d_eq, const Nom &nom_bord) const =0
const DoubleVect & tab_equivalent_distance(int bord) const
OBS_PTR(Domaine_Cl_dis_base) le_dom_Cl_dis_
const Champ_base & get_champ(const Motcle &nom) const override
OBS_PTR(Modele_turbulence_scal_base) mon_modele_turb_scal
virtual int init_lois_paroi()=0
void imprimer_nusselt_mean_only(Sortie &, int, const LIST(Nom)&, const Nom &) const
Prints mean Nusselt number and heat transfer statistics to a file for specified boundaries.
const DoubleVects & tab_equivalent_distance() const
void associer_modele(const Modele_turbulence_scal_base &)
Associates a turbulence model to the object.
const DoubleVect & equivalent_distance(int bord) const
const DoubleVects & equivalent_distance() const
virtual int calculer_scal(Champ_Fonc_base &)=0
void get_noms_champs_postraitables(Noms &nom, Option opt=NONE) const override
Turbulence_paroi_scal_base()
virtual void compute_nusselt() const =0
bool has_champ(const Motcle &nom, OBS_PTR(Champ_base) &ref_champ) const override
const int & get_flag_calcul_ldp_en_flux_impose() const
virtual void imprimer_nusselt(Sortie &) const
virtual void associer(const Domaine_dis_base &, const Domaine_Cl_dis_base &)=0
void ouvrir_fichier_partage(EcrFicPartage &, const Nom &) const
Opens or creates a print file for Face, d_eq, local Nu, h.