16#include <Champ_Uniforme_Morceaux_Tabule_Temps.h>
17#include <Interprete.h>
18#include <Sous_Domaine.h>
45 Domaine& le_domaine=mon_domaine.valeur();
52 if(motlu != Motcle(
"{") )
54 Cerr <<
"Error while reading a " <<
que_suis_je() << finl;
55 Cerr <<
"We expected a { instead of " << nom << finl;
60 if(motlu != Motcle(
"defaut") )
62 Cerr <<
"Error while reading a " <<
que_suis_je() << finl;
63 Cerr <<
"We expected defaut instead of " << nom << finl;
67 for( k=0; k< dim; k++) is >> val(k);
68 for( poly=0; poly<le_domaine.
nb_elem(); poly++)
69 for( k=0; k< dim; k++)
73 while (motlu != Motcle(
"}") )
75 les_sous_domaines.add(le_domaine.
ss_domaine(nom));
77 if (motlu == Motcle(
"{") )
81 DoubleVect param(nb_val);
82 DoubleTab tab_valeurs(nb_val,dim);
83 for (
int i = 0; i < nb_val; i++)
85 for (
int i = 0; i < nb_val; i++)
86 for (k = 0; k < dim; k++)
87 is >> tab_valeurs(i, k);
88 la_table.
remplir(param,tab_valeurs);
89 les_tables.add(la_table);
91 if (motlu != Motcle(
"}") )
93 Cerr <<
"Error while reading an object of type Champ_Uniforme_Morceaux_Tabule_Temps" << finl;
94 Cerr <<
"We expected keyword } instead of " << motlu << finl;
100 Cerr <<
"Error while reading an object of type Champ_Uniforme_Morceaux_Tabule_Temps" << finl;
101 Cerr <<
"We expected keyword { instead of " << motlu << finl;
116 if (!est_egal(
temps(),tps))
119 auto& list = les_tables.get_stl_list();
120 auto itr2 = les_sous_domaines.get_stl_list().begin();
124 DoubleVect& mes_valeurs =
valeurs();
126 for (
auto& itr : list)
128 Sous_Domaine& ssz = (*itr2).valeur();
129 Table& la_table = itr;
131 val_ch = la_table.
val(tps);
134 mes_valeurs(ssz(poly)) = val_ch;
141 DoubleTab& mes_valeurs =
valeurs();
143 DoubleVect val_loc(dim);
145 for (
auto& itr : list)
147 Sous_Domaine& ssz = (*itr2).valeur();
148 Table& la_table = itr;
153 for( k=0; k< dim; k++)
154 mes_valeurs(ssz(poly),k) = val_loc(k);
DoubleTab & valeurs() override
Surcharge Champ_base::valeurs() Renvoie le tableau des valeurs.
int lire_dimension(Entree &, const Nom &)
Verification de la dimension du champ Renvoie la dimension du champ.
double temps() const
Renvoie le temps du champ.
const Sous_Domaine_t & ss_domaine(int i) const
virtual void creer_tableau_elements(Array_base &, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT) const
creation d'un tableau parallele de valeurs aux elements.
Class defining operators and methods for all reading operation in an input flow (file,...
virtual void fixer_nb_comp(int i)
Fixe le nombre de composantes du champ.
virtual int nb_comp() const
static Objet_U & objet(const Nom &)
Voir Interprete_bloc::objet_global() BM: la classe Interprete n'est pas le meilleur endroit pour cett...
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.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Classe de base des flux de sortie.
int_t nb_elem_tot() const
virtual void echange_espace_virtuel(IsExchangeBlocking exchange_type=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname")
void remplir(const DoubleVect ¶m, const DoubleTab &val)
Affecte les parametres et les valeurs de la table.
double val(const double val_param, int ncomp=0) const
DoubleTab & valeurs(const DoubleTab &val_param, const DoubleTab &pos, const double tps, DoubleTab &val) const