16#include <Convection_Diffusion_Chaleur_Turbulent_QC.h>
17#include <Probleme_base.h>
18#include <Milieu_base.h>
44 if (mot ==
"diffusion")
46 Cerr <<
"Reading and typing of the diffusion operator : " << finl;
52 else if (mot ==
"modele_turbulence")
56 le_modele = le_modele_turbulence.
valeur();
57 liste_modeles_.add_if_not(le_modele);
71 data.insert(data.end(), turb.begin(), turb.end());
135 if (le_modele_turbulence)
136 le_modele_turbulence->creer_champ(motlu);
144 if (le_modele_turbulence)
145 if (le_modele_turbulence->has_champ(nom, ref_champ))
156 if (le_modele_turbulence)
157 if (le_modele_turbulence->has_champ(nom))
170 if (le_modele_turbulence)
171 if (le_modele_turbulence->has_champ(nom, ref_champ))
174 throw std::runtime_error(std::string(
"Field ") + nom.
getString() + std::string(
" not found !"));
181 if (le_modele_turbulence)
182 le_modele_turbulence->get_noms_champs_postraitables(nom, opt);
201 le_modele_turbulence->imprimer(os);
213 for (
const auto &itr : liste_modeles_)
215 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
const Champ_base & diffusivite_pour_pas_de_temps() const override
Particular case of Convection_Diffusion_Chaleur_Fluide_Dilatable_base for a quasi-compressible fluid,...
int preparer_calcul() override
Everything that does not depend on other possible problems.
void mettre_a_jour(double) override
The value of the unknown at the time step has been calculated.
void set_param(Param &titi) const override
int lire_motcle_non_standard(const Motcle &, Entree &) override
Reads non-simple-type parameters of an Objet_U from an input stream.
Turbulent convection-diffusion of heat for a quasi-compressible fluid.
const RefObjU & get_modele(Type_modele type) const override
void set_param(Param &titi) const override
bool initTimeStep(double dt) override
void mettre_a_jour(double) override
Time update of the equation: calls Convection_Diffusion_Chaleur_QC::mettre_a_jour(double).
void mettre_a_jour_modele(double)
void get_noms_champs_postraitables(Noms &nom, Option opt=NONE) const override
int sauvegarder(Sortie &) const override
Saves to an output stream via a double call to: Convection_Diffusion_Chaleur_QC::sauvegarder(Sortie&)...
void imprimer(Sortie &os) const override
Prints the equation operators if the time scheme indicates it is necessary.
const Champ_base & get_champ(const Motcle &nom) const override
int reprendre(Entree &) override
Restores from an input stream via a double call to: Convection_Diffusion_Chaleur_QC::reprendre(Entree...
bool has_champ(const Motcle &nom, OBS_PTR(Champ_base) &ref_champ) const override
void creer_champ(const Motcle &motlu) override
int lire_motcle_non_standard(const Motcle &, Entree &) override
Reads non-simple-type parameters of an Objet_U from an input stream.
int preparer_calcul() override
Double call to: Convection_Diffusion_Turbulent::preparer_calcul().
void completer() override
Double call to: Convection_Diffusion_Turbulent::completer().
std::vector< YAML_data > data_a_sauvegarder() const override
for PDI IO: retrieve name, type and dimensions of the fields to save/restore
OBS_PTR(Fluide_Dilatable_base) le_fluide
const Champ_Don_base & diffusivite_pour_transport() 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,...
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 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.
virtual bool initTimeStep(double dt)
Allocation and initialization of the unknown and boundary conditions until present+dt.
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