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: Renaming equation and its unknown"
111 <<
"\n New name : " << 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();
248inline int string2int(
char* digit,
int& result)
253 while (*digit >=
'0' && *digit <=
'9')
255 result = (result * 10) + (*digit -
'0');
278 static Motcle domaine =
"Concentration";
class Champ_Don_base base class of Given Fields (not calculated)
Represents the constituent(s) of a fluid.
int nb_constituants() const
const Champ_Don_base & diffusivite_constituant() const
void mettre_a_jour(double temps) override
int initialiser(const double temps) override
Convection_Diffusion_Concentration Special case of Convection_Diffusion_std.
const Constituant & constituant() const
Returns the constituent (if one has been associated).
void set_param(Param &titi) const override
Convection_Diffusion_Concentration()
void associer_constituant(const Constituant &)
Associates a constituent to the equation.
const Milieu_base & milieu() const override
Returns the physical medium of the equation.
void discretiser() override
Discretizes the equation.
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.
const Champ_Inc_base & inconnue() const override
Returns the unknown field of the equation: the concentration.
const double & masse_molaire() const
void associer_milieu_base(const Milieu_base &) override
Associates a physical medium to the equation; the medium is cast to Constituant and associated with t...
const Motcle & domaine_application() const override
Returns the name of the application domain of the equation.
int impr(Sortie &os) const override
Prints the boundary fluxes to an output stream.
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.
Convection_Diffusion_std This class is the base for equations modelling the transport.
Operateur_Diff terme_diffusif
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.
Operateur_Conv terme_convectif
class Discret_Thyd This class is the base class representing a discretization
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
Returns the discretization associated with the equation.
virtual void mettre_a_jour(double temps)
The value of the unknown at the time step has been calculated.
virtual int impr(Sortie &os) const
Prints the equation operators to an output stream, unconditionally.
virtual int preparer_calcul()
Everything that does not depend on other possible problems.
Probleme_base & probleme()
Returns the problem associated with the equation.
Schema_Temps_base & schema_temps()
Returns the time scheme associated with the equation.
virtual void discretiser()
Discretizes the equation.
Champs_compris champs_compris_
Domaine_dis_base & domaine_dis()
Returns the discretized domain associated with the equation.
bool diffusion_multi_scalaire_
const Nom & le_nom() const override
Returns the name of the field.
void nommer(const Nom &) override
Gives a name to the field.
Milieu_base This class is the base of the (physical) medium hierarchy.
A character string (Nom) in uppercase.
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.
const Nom & le_nom() const override
Returns the name of the Objet_U. Virtual method to override: returns "neant" in this implementation.
static void exit(int exit_code=-1)
Exit routine for TRUST within a Kokkos region.
double temps_courant() const
Returns the current time.
Base class for output streams.