16#include <LecFicDiffuse_JDD.h>
17#include <communications.h>
20#include <Type_Verifie.h>
48 int ok =
ouvrir(name, mode);
51 Cerr <<
"File " << name <<
" does not exist (LecFicDiffuse_JDD)" << finl;
69 Cout <<
"Reading data file "<<finl;
73 ok = file_.
ouvrir(name, mode);
76 Cerr <<
"File " << name <<
" does not exist (LecFicDiffuse_JDD)" << finl;
85 int nb_accolade_sa=-1;
87 bool petsc_format =
false;
101 nb_accolade_sa=nb_accolade;
108 comments += std::string(
"[") + std::string(name) +
"] : Comments bloc starts at line " + std::to_string(line)+
" ";
110 for(
int jump=0; jump<jol; jump++)
119 Nom msg =
"\nProblem while reading some # \n # not closed.\n";
120 msg+=
"============================================\nExiting TRUST.";
124 for(
int jump=0; jump<jol; jump++)
129 comments +=
"and ends at line " + std::to_string(line)+
"\n";
131 for(
int jump=0; jump<jol; jump++)
136 else if (motlu==
"/*")
140 comments += std::string(
"[") + std::string(name) +
"] : Comments bloc starts at line " + std::to_string(line) +
" ";
144 for(
int jump=0; jump<jol; jump++)
151 Nom msg =
"\nProblem while reading some /* \n not closed.\n";
152 msg+=
"============================================\nExiting TRUST.";
155 if (motlu==
"/*") ouvrante++;
156 if (motlu==
"*/") ouvrante--;
158 comments +=
"and ends at line " + std::to_string(line)+
"\n";
160 for(
int jump=0; jump<jol; jump++)
164 else if ((motlu.find(
"}")!=-1 && motlu !=
"}") || (motlu.find(
"{")!=-1 && motlu !=
"{") || (motlu.find(
"#")!=-1) || (motlu.find(
",")!=-1 && motlu !=
"," && !petsc_format))
166 Nom msg =
"Error while reading '" + motlu.
getString() +
"' from datafile " + name +
" at line " + std::to_string(line) +
".\nCheck for missing space character.\n";
167 msg+=
"============================================\nExiting TRUST.";
189 for(
int jump=0; jump<jol; jump++)
194 petsc_format =
false;
195 if ((motlu.debute_par(
"-pc_fieldsplit_") && motlu.finit_par(
"_fields")))
203 nb_accolade=nb_accolade_sa;
207 Cerr<<
"Error perhaps extra \"}\" or missing \"#\" in data file"<<finl;
209 Cerr<<
"Error check for missing \"}\" in data file"<<finl;
218 envoyer_broadcast(ok, 0);
EFichier(const char *name, IOS_OPEN_MODE mode=ios::in)
virtual int ouvrir(const char *name, IOS_OPEN_MODE mode=ios::in)
Class defining operators and methods for all reading operation in an input flow (file,...
virtual int jumpOfLines()
Cette classe implemente les operateurs et les methodes virtuelles de la classe EFichier de la facon s...
static bool apply_verif
! whether obsolete keywords should be checked or not. True by default.
Entree & get_entree_master() override
int ouvrir(const char *name, IOS_OPEN_MODE mode=ios::in) override
Ouverture du fichier.
Classe de base des entrees diffusees: le processeur maitre lit les donnees dans la classe get_entree_...
Une chaine de caractere (Nom) en majuscules.
class Nom Une chaine de caractere pour nommer les objets de TRUST
const std::string & getString() const
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 Sortie & Journal(int message_level=0)
Renvoie un objet statique de type Sortie qui sert de journal d'evenements.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
static int je_suis_maitre()
renvoie 1 si on est sur le processeur maitre du groupe courant (c'est a dire me() == 0),...
Cette classe derivee de Sortie empile ce qu'on lui envoie dans une chaine de caracteres.
const char * get_str() const
returns a copy of the string stored by the SChaine
Classe de base des flux de sortie.