16#include <Convection_Diffusion_Turbulent.h>
17#include <Modele_turbulence_scal_base.h>
18#include <Operateur_Diff_base.h>
19#include <Discretisation_base.h>
20#include <Schema_Temps_base.h>
21#include <Champ_Uniforme.h>
22#include <Operateur_Diff.h>
23#include <Probleme_base.h>
30 Cerr <<
"Reading and typing of the turbulence model : ";
35 Motcle nom1(
"Modele_turbulence_scal_");
38 if (typ ==
"sous_maille_dyn")
42 if (disc ==
"VEFPreP1B") disc =
"VEF";
47 le_modele_turbulence.typer(nom1);
48 le_modele_turbulence->associer_eqn(eqn);
51 is >> le_modele_turbulence.valeur();
53 le_modele_turbulence->discretiser();
61 Nom type =
"Op_Dift_";
65 assert(motbidon ==
"{");
67 if (motbidon ==
"negligeable")
72 terme_diffusif.
typer(type);
74 Cerr << terme_diffusif->que_suis_je() << finl;
77 assert(motbidon == accfermee);
79 else if (motbidon ==
"stab")
82 if (disc ==
"VEFPreP1B")
88 nb_inc =
"_Multi_inco_";
94 type += (type_inco.
suffix(
"Champ_"));
99 terme_diffusif.
typer(type);
102 is >> terme_diffusif.valeur();
108 if (disc ==
"VEFPreP1B")
115 nb_inc =
"_Multi_inco_";
120 if (type_inco ==
"Champ_Q1_EF")
123 type += (type_inco.
suffix(
"Champ_"));
128 if (motbidon != accfermee)
129 type +=
Nom(
"_") + motbidon, is >> motbidon;
130 assert(motbidon == accfermee);
132 terme_diffusif.
typer(type);
134 Cerr << terme_diffusif->que_suis_je() << finl;
145 le_modele_turbulence->completer();
146 le_modele_turbulence->loi_paroi().completer();
151 return le_modele_turbulence->initTimeStep(dt);
160 le_modele_turbulence->preparer_calcul();
169 std::vector<YAML_data> data = le_modele_turbulence->data_a_sauvegarder();
182 return le_modele_turbulence->sauvegarder(os);
193 le_modele_turbulence->reprendre(is);
203 le_modele_turbulence->mettre_a_jour(temps);
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
Class defining operators and methods for all reading operation in an input flow (file,...
class Equation_base The role of an equation is the calculation of one or more fields....
const Discretisation_base & discretisation() const
Returns the discretization associated with the equation.
virtual const Champ_Inc_base & inconnue() const =0
virtual Domaine_Cl_dis_base & domaine_Cl_dis()
Returns the discretized boundary condition domain associated with the equation.
Domaine_dis_base & domaine_dis()
Returns the discretized domain associated with the equation.
virtual int nb_comp() const
A character string (Nom) in uppercase.
class Nom: a character string for naming TRUST objects.
Nom & suffix(const char *const)
Suffix extraction: Nom x("azerty");.
const Nom & que_suis_je() const
Returns the string identifying the class.
Operateur_Diff Generic class of the hierarchy of operators representing a diffusion.
const Champ_base & diffusivite() const
Returns the field representing the diffusivity.
void associer_diffusivite(const Champ_base &)
Associates the diffusivity to the operator.
void typer() override
Types the operator: types as "Op_Diff_"+discretisation() + ("_" or "_Multi_inco_") + inconnue()....
Operateur_base & l_op_base() override
Returns the underlying object upcast to Operateur_base.
void associer_eqn(const Equation_base &)
Associates an equation with the operator.
Base class for output streams.