16#include <Convection_Diffusion_Temperature_IBM_Turbulent.h>
17#include <Fluide_Incompressible.h>
36 if (mot ==
"diffusion")
38 Cerr <<
"Reading and typing of the diffusion operator : " << finl;
45 else if (mot ==
"modele_turbulence")
49 le_modele = le_modele_turbulence.
valeur();
50 liste_modeles_.add_if_not(le_modele);
64 data.insert(data.end(), turb.begin(), turb.end());
124 if (le_modele_turbulence)
125 le_modele_turbulence->creer_champ(motlu);
133 if (le_modele_turbulence)
134 if (le_modele_turbulence->has_champ(nom, ref_champ))
145 if (le_modele_turbulence)
146 if (le_modele_turbulence->has_champ(nom))
159 if (le_modele_turbulence)
160 if (le_modele_turbulence->has_champ(nom, ref_champ))
163 throw std::runtime_error(std::string(
"Field ") + nom.
getString() + std::string(
" not found !"));
169 if (le_modele_turbulence)
170 le_modele_turbulence->get_noms_champs_postraitables(nom, opt);
196 le_modele_turbulence->imprimer(os);
201 for (
const auto &itr : liste_modeles_)
203 const RefObjU& mod = itr;
class Champ_base This class is the base of the fields hierarchy.
virtual void creer_champ(const Motcle &motlu)=0
virtual void get_noms_champs_postraitables(Noms &nom, Option opt=NONE) const =0
virtual bool has_champ(const Motcle &nom, OBS_PTR(Champ_base)&ref_champ) const =0
Turbulent IBM convection-diffusion equation for temperature.
void get_noms_champs_postraitables(Noms &nom, Option opt=NONE) const override
bool initTimeStep(double dt) override
int lire_motcle_non_standard(const Motcle &, Entree &) override
Reads non-simple-type parameters of an Objet_U from an input stream.
void imprimer(Sortie &os) const override
Prints the equation operators if the time scheme indicates it is necessary.
bool has_champ(const Motcle &nom, OBS_PTR(Champ_base) &ref_champ) const override
void mettre_a_jour(double) override
Time update of the equation. Double call to Convection_Diffusion_Temperature_IBM::mettre_a_jour(doubl...
void completer() override
Double call to Convection_Diffusion_Turbulent::completer().
void creer_champ(const Motcle &motlu) override
const RefObjU & get_modele(Type_modele type) const override
std::vector< YAML_data > data_a_sauvegarder() const override
for PDI IO: retrieve name, type and dimensions of the fields to save/restore
int reprendre(Entree &) override
Restores from an input stream. Double call to Convection_Diffusion_Temperature_IBM::reprendre(Entree&...
int preparer_calcul() override
Double call to Convection_Diffusion_Turbulent::preparer_calcul().
const Champ_base & get_champ(const Motcle &nom) const override
int sauvegarder(Sortie &) const override
Saves to an output stream. Double call to Convection_Diffusion_Temperature_IBM::sauvegarder(Sortie&).
void set_param(Param &titi) const override
int preparer_calcul() override
Everything that does not depend on other possible problems.
void set_param(Param &titi) const override
bool initTimeStep(double dt) override
Allocation and initialization of the unknown and boundary conditions until present+dt.
const Champ_Don_base & diffusivite_pour_transport() const override
const Champ_base & diffusivite_pour_pas_de_temps() const override
int preparer_calcul()
Prepares the computation.
void completer()
Completes the turbulence model.
Entree & lire_op_diff_turbulent(Entree &, const Equation_base &, Operateur_Diff &)
virtual bool initTimeStep(double dt)
Entree & lire_modele(Entree &, const Equation_base &)
virtual int sauvegarder(Sortie &) const
Simple call to Modele_turbulence_scal_base::sauvegarder(Sortie&) on the turbulence member.
virtual void mettre_a_jour(double)
Time update of the turbulence model.
virtual int reprendre(Entree &)
Restores from a checkpoint via an input stream.
virtual std::vector< YAML_data > data_a_sauvegarder() const
for PDI IO: retrieve name, type and dimensions of the fields to save/restore
Operateur_Diff terme_diffusif
Class defining operators and methods for all reading operation in an input flow (file,...
OBS_PTR(Equation_base) eq_IBM_
int reprendre(Entree &) override
We resume the unknown from an input stream.
virtual const RefObjU & get_modele(Type_modele type) const
virtual std::vector< YAML_data > data_a_sauvegarder() const
for PDI IO: retrieve name, type and dimensions of the data to save/restore. This has to be overrode f...
virtual void imprimer(Sortie &os) const
Prints the equation operators if the time scheme indicates it is necessary.
virtual void mettre_a_jour(double temps)
The value of the unknown at the time step has been calculated.
virtual void completer()
Completes the construction (initialization) of objects associated with the equation.
int sauvegarder(Sortie &) const override
We save the unknown, then the source terms to an output stream.
int lire_motcle_non_standard(const Motcle &, Entree &) override
Reads non-simple-type parameters of an Objet_U from an input stream.
Base class for scalar turbulence models coupled to a Navier-Stokes convection-diffusion equation.
A character string (Nom) in uppercase.
const std::string & getString() const
An array of character strings (VECT(Nom)).
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_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.
Base class for output streams.
const Objet_U & valeur() const