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();
183 return le_modele_turbulence->sauvegarder(os);
194 le_modele_turbulence->reprendre(is);
204 le_modele_turbulence->mettre_a_jour(temps);
int preparer_calcul()
Prepare le calcul.
void completer()
Complete le modele de turbulence.
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 appel a Modele_turbulence_scal_base::sauvegarder(Sortie&) sur le membre concerne.
virtual void mettre_a_jour(double)
Mise a jour en temps du modele de turbulence.
virtual int reprendre(Entree &)
Reprise (apres une sauvegarde) a partir d'un flot d'entree.
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,...
classe Equation_base Le role d'une equation est le calcul d'un ou plusieurs champs....
const Discretisation_base & discretisation() const
Renvoie la discretisation associee a l'equation.
virtual const Champ_Inc_base & inconnue() const =0
virtual Domaine_Cl_dis_base & domaine_Cl_dis()
Renvoie le domaine des conditions aux limite discretisee associee a l'equation.
Domaine_dis_base & domaine_dis()
Renvoie le domaine discretise associe a l'equation.
virtual int nb_comp() const
Une chaine de caractere (Nom) en majuscules.
class Nom Une chaine de caractere pour nommer les objets de TRUST
Nom & suffix(const char *const)
Extraction de suffixe : Nom x("azerty");.
const Nom & que_suis_je() const
renvoie la chaine identifiant la classe.
classe Operateur_Diff Classe generique de la hierarchie des operateurs representant un terme
const Champ_base & diffusivite() const
Renvoie le champ representant la diffusivite.
void associer_diffusivite(const Champ_base &)
Associe la diffusivite a l'operateur.
void typer() override
Type l'operateur: se type "Op_Diff_"+discretisation() + ("_"ou"_Multi_inco_") + inconnue()....
Operateur_base & l_op_base() override
Renvoie l'objet sous-jacent upcaste en Operateur_base.
void associer_eqn(const Equation_base &)
Associe une equation a l'operateur.
Classe de base des flux de sortie.