16#include <Convection_Diffusion_Espece_Binaire_Turbulent_QC.h>
17#include <Fluide_Quasi_Compressible.h>
18#include <Probleme_base.h>
38 if (mot ==
"diffusion")
40 Cerr <<
"Reading and typing of the diffusion operator : " << finl;
47 else if (mot ==
"modele_turbulence")
51 le_modele = le_modele_turbulence.
valeur();
52 liste_modeles_.add_if_not(le_modele);
66 data.insert(data.end(), turb.begin(), turb.end());
77int Convection_Diffusion_Espece_Binaire_Turbulent_QC::sauvegarder(
Sortie& os)
const
92int Convection_Diffusion_Espece_Binaire_Turbulent_QC::reprendre(
Entree& is)
116void Convection_Diffusion_Espece_Binaire_Turbulent_QC::mettre_a_jour(
double temps)
126 if (le_modele_turbulence)
127 le_modele_turbulence->creer_champ(motlu);
135 if (le_modele_turbulence)
136 if (le_modele_turbulence->has_champ(nom))
137 return le_modele_turbulence->has_champ(nom, ref_champ);
147 if (le_modele_turbulence)
148 if (le_modele_turbulence->has_champ(nom))
159 if (le_modele_turbulence)
160 if (le_modele_turbulence->has_champ(nom))
161 return le_modele_turbulence->get_champ(nom);
163 throw std::runtime_error(std::string(
"Field ") + nom.
getString() + std::string(
" not found !"));
170 if (le_modele_turbulence)
171 le_modele_turbulence->get_noms_champs_postraitables(nom, opt);
188void Convection_Diffusion_Espece_Binaire_Turbulent_QC::imprimer(
Sortie& os)
const
191 le_modele_turbulence->imprimer(os);
203 for (
const auto &itr : liste_modeles_)
205 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 const Champ_base & get_champ(const Motcle &nom) const =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
Convection_Diffusion_Espece_Binaire_QC class Special case of Convection_Diffusion_Espece_Binaire_base...
void completer() override
Completes the construction (initialization) of objects associated with the equation.
Turbulent convection-diffusion of a binary species for a quasi-compressible fluid.
bool initTimeStep(double dt) override
void creer_champ(const Motcle &motlu) override
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.
const RefObjU & get_modele(Type_modele type) const override
void get_noms_champs_postraitables(Noms &nom, Option opt=NONE) const override
bool has_champ(const Motcle &nom, OBS_PTR(Champ_base) &ref_champ) const override
const Champ_base & get_champ(const Motcle &nom) const override
const Champ_base & diffusivite_pour_pas_de_temps() const override
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,...
virtual void set_param(Param &titi) const override
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.
virtual int preparer_calcul()
Everything that does not depend on other possible problems.
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.
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