16#include <Convert_ICoCoTrioField.h>
17#include <Champ_Input_Proto.h>
18#include <Schema_Temps_base.h>
19#include <ICoCoExceptions.h>
20#include <Probleme_base.h>
21#include <Interprete.h>
25using ICoCo::WrongArgument;
49 Motcle accolade_ouverte(
"{");
50 Motcle accolade_fermee(
"}");
53 if (motlu != accolade_ouverte)
55 Cerr <<
"It was expected { to start to read the Champ_Input" << finl;
61 if (motlu ==
"nb_comp")
66 else if (motlu ==
"nom")
70 else if (motlu ==
"initial_value")
74 else if (motlu==
"probleme")
78 else if (motlu==
"sous_domaine" || motlu==
"sous_zone")
80 is >> nom_sous_domaine;
82 else if (motlu == accolade_fermee)
86 Cerr <<
"Error in Ch_front_input_uniforme::readOn" << finl;
87 Cerr <<
"We expected a } instead of " << motlu << finl;
92 if (nom_champ==
"??" || nom_pb==
"??" || nbc==-1)
94 Cerr <<
"Error in Ch_front_input_uniforme::readOn" << finl;
95 Cerr <<
"It must be define the name, problem and number of components" << motlu << finl;
104 mon_sous_domaine.reset();
105 if (nom_sous_domaine!=
"??")
109 Cerr <<
"Error in Ch_front_input_uniforme::readOn" << finl;
110 Cerr <<
"The sous_domaines are not managed by this field" << finl;
113 mon_sous_domaine=mon_pb->domaine().ss_domaine(nom_sous_domaine);
124 throw WrongArgument(mon_pb->le_nom().getChar(),
"setInputField",afield.getCharName(),
"should have the same _nb_elems as returned by getInputFieldTemplate");
130 throw WrongArgument(mon_pb->le_nom().getChar(),
"setInputField",
"afield",
"should have the same _nb_elems as returned by getInputFieldTemplate");
131 if (afield._nb_field_components!=tab.
dimension(1))
133 throw WrongArgument(mon_pb->le_nom().getChar(),
"setInputField",
"afield",
"should have the same _nb_field_components as returned by getInputFieldTemplate");
136 memcpy(tab.
addr(),afield._field,tab.
size()*
sizeof(
double));
147 Cerr<<
"You need to override setDoubleValue() in derived class of Champ_Input_Proto"<< finl;
Class defining operators and methods for all reading operation in an input flow (file,...
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 Nom Une chaine de caractere pour nommer les objets de TRUST
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.
_SIZE_ dimension_tot(int) const override
_SIZE_ dimension(int d) const
virtual void echange_espace_virtuel(IsExchangeBlocking exchange_type=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname")