16#include <Convection_Diffusion_Concentration_Turbulent.h>
17#include <Constituant.h>
45 if (mot ==
"diffusion")
47 Cerr <<
"Reading and typing of the diffusion operator : " << finl;
55 else if (mot ==
"modele_turbulence")
59 le_modele = le_modele_turbulence.
valeur();
60 liste_modeles_.add_if_not(le_modele);
75 data.insert(data.end(), turb.begin(), turb.end());
136 if (le_modele_turbulence)
137 le_modele_turbulence->creer_champ(motlu);
145 if (le_modele_turbulence)
146 if (le_modele_turbulence->has_champ(nom, ref_champ))
157 if (le_modele_turbulence)
158 if (le_modele_turbulence->has_champ(nom))
171 if (le_modele_turbulence)
172 if (le_modele_turbulence->has_champ(nom, ref_champ))
175 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);
207 for (
const auto &itr : liste_modeles_)
209 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 convection-diffusion equation when the unknown is a concentration or a vector of concentrat...
int sauvegarder(Sortie &) const override
Saves the equation to an output stream via a double call to:
void get_noms_champs_postraitables(Noms &nom, Option opt=NONE) const override
void completer() override
Double call to: Convection_Diffusion_Turbulent::completer().
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 via a double call to: Convection_Diffusion_Concentration::mettre_a_jour(d...
int reprendre(Entree &) override
Restores from an input stream via a double call to: Convection_Diffusion_Concentration::reprendre(Ent...
bool initTimeStep(double dt) 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 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().
const Champ_base & get_champ(const Motcle &nom) const override
const RefObjU & get_modele(Type_modele type) const override
void set_param(Param &titi) const override
void creer_champ(const Motcle &motlu) override
Convection_Diffusion_Concentration Special case of Convection_Diffusion_std.
void set_param(Param &titi) const override
int preparer_calcul() override
Everything that does not depend on other possible problems.
int lire_motcle_non_standard(const Motcle &, Entree &) override
Reads non-simple-type parameters of an Objet_U from an input stream.
OBS_PTR(Constituant) le_constituant
const Champ_Don_base & diffusivite_pour_transport() const override
void mettre_a_jour(double) override
The value of the unknown at the time step has been calculated.
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
virtual const Champ_base & diffusivite_pour_pas_de_temps() const
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 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(const char *keyword, const int *value, Param::Nature nat=Param::OPTIONAL)
Register an integer parameter.
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