16#include <Convection_Diffusion_Concentration.h>
17#include <Frontiere_dis_base.h>
18#include <Navier_Stokes_std.h>
19#include <Probleme_base.h>
20#include <Discret_Thyd.h>
21#include <Constituant.h>
40 assert(la_concentration);
44 Nom nom=
"Convection_";
51 EChaine ech(
"{ negligeable }");
63 EChaine ech(
"{ negligeable }");
88 param.
ajouter_non_std(
"is_multi_scalar|is_multi_scalar_diffusion", (
this));
94 if (mot==
"nom_inconnue")
98 Cerr <<
"The unknow of a Convection_Diffusion_Concentration equation is renamed"
100 <<
"\n New name : " << nom << finl;
105 else if (mot==
"alias")
109 Cerr <<
"nom_inconnue: On renomme l'equation et son inconnue"
111 <<
"\n Nouveau nom : " << nom << finl;
116 else if (mot==
"is_multi_scalar" || mot==
"is_multi_scalar_diffusion")
146 assert(le_constituant);
148 Cerr <<
"Transport concentration(s) equation discretization " << finl;
190 Cerr <<
"You forgot to associate the constituent to the problem named " <<
probleme().
le_nom() << finl;
193 return le_constituant.valeur();
205 Cerr <<
"No constituant has been associated "
206 <<
"with a Convection_Diffusion_Concentration equation." << finl;
209 return le_constituant.valeur();
249inline int string2int(
char* digit,
int& result)
254 while (*digit >=
'0' && *digit <=
'9')
256 result = (result * 10) + (*digit -
'0');
279 static Motcle domaine =
"Concentration";
classe Champ_Don_base classe de base des Champs donnes (non calcules)
classe Constituant Cette classe represente le(s) constituant(s) d'un fluide.
int nb_constituants() const
const Champ_Don_base & diffusivite_constituant() const
void mettre_a_jour(double temps) override
int initialiser(const double temps) override
classe Convection_Diffusion_Concentration Cas particulier de Convection_Diffusion_std
const Constituant & constituant() const
Renvoie le constituant (si il a ete associe).
void set_param(Param &titi) const override
Convection_Diffusion_Concentration()
void associer_constituant(const Constituant &)
Associe un constituant a l'equation.
const Milieu_base & milieu() const override
Renvoie le milieu physique de l'equation.
void discretiser() override
Discretise l'equation.
int preparer_calcul() override
Tout ce qui ne depend pas des autres problemes eventuels.
int lire_motcle_non_standard(const Motcle &, Entree &) override
Lecture des parametres de type non simple d'un objet_U a partir d'un flot d'entree.
const Champ_Inc_base & inconnue() const override
Renvoie le champ inconnue de l'equation: la concentration.
const double & masse_molaire() const
void associer_milieu_base(const Milieu_base &) override
Associe un milieu physique a l'equation, le milieu est en fait caste en Constituant et associe a l'eq...
const Motcle & domaine_application() const override
Renvoie le nom du domaine d'application de l'equation.
int impr(Sortie &os) const override
Impression des flux sur les bords sur un flot de sortie.
const Champ_Don_base & diffusivite_pour_transport() const override
void mettre_a_jour(double) override
La valeur de l'inconnue sur le pas de temps a ete calculee.
classe Convection_Diffusion_std Cette classe est la base des equations modelisant le transport
Operateur_Diff terme_diffusif
void set_param(Param &titi) const override
int lire_motcle_non_standard(const Motcle &, Entree &) override
Lecture des parametres de type non simple d'un objet_U a partir d'un flot d'entree.
Operateur_Conv terme_convectif
classe Discret_Thyd Cette classe est la classe de base representant une discretisation
void concentration(const Schema_Temps_base &, Domaine_dis_base &, OWN_PTR(Champ_Inc_base)&, int=1, const Nom nom_champ="concentration") const
Class defining operators and methods for all reading operation in an input flow (file,...
const Discretisation_base & discretisation() const
Renvoie la discretisation associee a l'equation.
virtual void mettre_a_jour(double temps)
La valeur de l'inconnue sur le pas de temps a ete calculee.
virtual int impr(Sortie &os) const
Imprime les operateurs de l'equation sur un flot de sortie, de facon inconditionnelle.
virtual int preparer_calcul()
Tout ce qui ne depend pas des autres problemes eventuels.
Probleme_base & probleme()
Renvoie le probleme associe a l'equation.
Schema_Temps_base & schema_temps()
Renvoie le schema en temps associe a l'equation.
virtual void discretiser()
Discretise l'equation.
Champs_compris champs_compris_
Domaine_dis_base & domaine_dis()
Renvoie le domaine discretise associe a l'equation.
bool diffusion_multi_scalaire_
const Nom & le_nom() const override
Renvoie le nom du champ.
void nommer(const Nom &) override
Donne un nom au champ.
classe Milieu_base Cette classe est la base de la hierarchie des milieux (physiques)
Une chaine de caractere (Nom) en majuscules.
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
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.
const Nom & le_nom() const override
Donne le nom de l'Objet_U Methode a surcharger : renvoie "neant" dans cette implementation.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
double temps_courant() const
Renvoie le temps courant.
Classe de base des flux de sortie.