16#include <Navier_Stokes_std_sensibility.h>
17#include <Probleme_base.h>
18#include <Schema_Temps_base.h>
21#include <LecFicDiffuse.h>
22#include <communications.h>
23#include <Interprete.h>
68 Cerr<<
"Only Scheme_euler_explicit time scheme within Navier_Stokes_std_sensibility "<<finl;
79 int lu_info_evaluateur = 0;
80 Cerr <<
"Reading and typing of the state : " << finl;
81 Motcle motlu, accolade_fermee=
"}", accolade_ouverte=
"{";
83 if(motlu!=accolade_ouverte)
85 Cerr <<
"We expected a { while reading of " <<
que_suis_je() << finl;
86 Cerr <<
"and not : " << motlu << finl;
91 Cerr<<
"word read="<<motlu<<finl;
92 if(motlu==
"pb_champ_evaluateur")
95 lu_info_evaluateur = 1;
99 Cerr<<
"We expected the name of a problem and a fluid fild while reading of "<<motlu<< finl;
100 Cerr <<
"and not : " <<accolade_ouverte <<
" or "<< accolade_fermee << finl;
106 Cerr<<
"Navier_Stokes_std_sensibility::lire_motcle_non_standard: keyword "<<motlu<<
" is not recognized."<<finl;
107 Cerr<<
"The recognized keywords are :"<<
"pb_champ_evaluateur "<<finl;
111 if(motlu != accolade_fermee)
113 Cerr <<
"We expected a } while reading of " <<
que_suis_je() << finl;
114 Cerr <<
"and not : " << motlu << finl;
117 if (lu_info_evaluateur!=1)
119 Cerr<<
"Keyword pb_champ_evaluateur must be specified with associated data"<<finl;
120 Cerr<<
"when Navier_Stokes_std_sensibility is used."<<finl;
126 else if (mot==
"uncertain_variable")
129 Cerr <<
"Reading and typing of the uncertain variable: " << finl;
130 Motcle motlu, accolade_fermee=
"}", accolade_ouverte=
"{";
132 if(motlu!=accolade_ouverte)
134 Cerr <<
"We expected a { while reading of " <<
que_suis_je() << finl;
135 Cerr <<
"and not : " << motlu << finl;
140 Cerr<<
"word read="<<motlu<<finl;
143 if(motlu != accolade_fermee)
145 Cerr <<
"We expected a } while reading of " <<
que_suis_je() << finl;
146 Cerr <<
"and not : " << motlu << finl;
151 else if (mot==
"polynomial_chaos")
153 Cerr <<
"Reading and typing of the option polynomial chaos: " << finl;
159 else if (mot==
"adjoint")
161 Cerr <<
"Reading and typing of the option adjoint: " << finl;
172 Cerr <<
"Navier_Stokes_std_sensibility: recoup state from "<<one_name_state_pb<< finl;
175 Cerr <<
"Navier_Stokes_std_sensibility: we expect here the nom of the state problem and not the name of the sensibility problem"<< finl;
188 Cerr <<
"No problem named "<< one_name_state_pb <<
" has been found."<< finl;
191 rch = pb->get_champ(one_name_state_field);
197 Cerr<<pb->le_nom()<<
" has no unknown field named "<<one_name_state_field<<finl;
204 Cerr <<
"Navier_Stokes_std_sensibility: update state from "<<one_name_state_pb<< finl;
211 rch = pb->get_champ(one_name_state_field);
222 return state_field->valeurs();
classe Champ_base Cette classe est la base de la hierarchie des champs.
Class defining operators and methods for all reading operation in an input flow (file,...
const Nom & le_nom() const override
Renvoie le nom de l'equation.
Probleme_base & probleme()
Renvoie le probleme associe a l'equation.
Schema_Temps_base & schema_temps()
Renvoie le schema en temps associe a l'equation.
static Objet_U & objet(const Nom &)
Voir Interprete_bloc::objet_global() BM: la classe Interprete n'est pas le meilleur endroit pour cett...
Une chaine de caractere (Nom) en majuscules.
: class Navier_Stokes_std_sensibility
OBS_PTR(Champ_Inc_base) state_field
Navier_Stokes_std_sensibility()
void set_param(Param ¶m) const override
void mettre_a_jour(double temps) override
Effectue une mise a jour en temps de l'equation.
const Motcle & get_uncertain_variable_name() const
const bool & get_adjoint_value() const
void update_evaluator_field(const Nom &one_name_state_pb, const Motcle &one_name_state_field)
const double & get_poly_chaos_value() const
int lire_motcle_non_standard(const Motcle &mot, Entree &is) override
Lecture des parametres de type non simple d'un objet_U a partir d'un flot d'entree.
void associate_evaluator_field(const Nom &one_name_state_pb, const Motcle &one_name_state_field)
const DoubleTab & get_state_field() const
const Champ_Inc_base & get_state() const
~Navier_Stokes_std_sensibility()
classe Navier_Stokes_std Cette classe porte les termes de l'equation de la dynamique
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.
void mettre_a_jour(double temps) override
Effectue une mise a jour en temps de l'equation.
void set_param(Param &titi) const override
class Nom Une chaine de caractere pour nommer les objets de TRUST
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.
Objet_U()
Constructeur par defaut : attribue un numero d'identifiant unique a l'objet (object_id_),...
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_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 Probleme_base C'est un Probleme_U qui n'est pas un couplage.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Classe de base des flux de sortie.