16#include <Convection_Diffusion_std.h>
17#include <Terme_Boussinesq_base.h>
18#include <Fluide_base.h>
22#include <Pb_Multiphase.h>
44 Cerr <<
"Reading Boussinesq source term parameters." << finl;
46 param.lire_avec_accolades_depuis(is);
63 Cerr <<
"Error: The boussinesq source term can't be defined for a problem of kind " << pb.
que_suis_je() << finl;
64 Cerr <<
" Use source_qdm if you want to add this source term!" << finl;
68 for (
int eq=0; eq<n_eq; eq++)
79 Cerr <<
"Error. The Boussinesq source term can't be defined on a problem of kind " << pb.
que_suis_je() << finl;
87 int valid_beta_field = 0;
88 Nom beta_field_name=
"??";
93 beta_field_name =
"thermal expansion value (beta_th)";
99 beta_field_name =
"volume expansion coefficient values in concentration (beta_co)";
103 if( ! valid_beta_field )
105 Cerr <<
"Error. Boussinesq source term is not able to access to the "<<beta_field_name<<
" associated to the fluid."<<finl;
106 Cerr <<
"Please check your data file. " << finl;
107 Cerr <<
"Aborting..."<<finl;
118 std::transform(ss.begin(), ss.end(), ss.begin(), ::toupper);
121 fct_Scalaire0_.
addVar(
"t");
133 fct_Scalaire0_.dimensionner(1);
135 read(is, fct_Scalaire0_[0]);
143 fct_Scalaire0_.dimensionner(dim);
145 for (
int i=0; i<dim; i++) read(is, fct_Scalaire0_[i]);
classe Convection_Diffusion_std Cette classe est la base des equations modelisant le transport
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....
virtual const Champ_Inc_base & inconnue() const =0
const Nom & le_nom() const override
Renvoie le nom du champ.
classe Fluide_base Cette classe represente un d'un fluide incompressible ainsi que
const Champ_Don_base & beta_c() const
virtual const Champ_Don_base & beta_t() const
Renvoie beta_t du milieu.
virtual const Champ_Don_base & gravite() const
Renvoie la gravite du milieu si elle a ete associe provoque une erreur sinon.
const Equation_base & equation() const
Renvoie la reference sur l'equation pointe par MorEqn::mon_equation.
Une chaine de caractere (Nom) en majuscules.
class Nom Une chaine de caractere pour nommer les objets de TRUST
const std::string & getString() const
const Nom & que_suis_je() const
renvoie la chaine identifiant la classe.
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.
classe Parser_U Version de la classe Parser, derivant de Objet_U.
void setString(const std::string &s)
void addVar(const char *v)
classe Pb_Multiphase Cette classe represente un probleme de thermohydraulique multiphase de type "3*N...
classe Probleme_base C'est un Probleme_U qui n'est pas un couplage.
virtual int nombre_d_equations() const =0
virtual const Equation_base & equation(int) const =0
static void abort()
Routine de sortie de Trio-U sur une erreur abort().
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Classe de base des flux de sortie.
classe Source_base Un objet Source_base est un terme apparaissant au second membre d'une
Classe Terme_Boussinesq_base Cette classe represente le terme de gravite qui figure dans l'equation.
void set_param(Param ¶m) const override
void associer_pb(const Probleme_base &pb) 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.