Herezh_dev/Lecture/LectBloc_T.cc
Gérard Rio 49c9e51239 introduction de la version 7.00: utilisation de MPI au niveau du calcul de raideur élémentaire
Sur la branche master
 Votre branche est à jour avec 'origin/master'.

 Modifications qui seront validées :
	nouveau fichier : Elements/Mecanique/SFE/Met_Sfe1_struc_donnees.h
	nouveau fichier : Elements/Thermique/PtIntegThermiInterne.cc
	nouveau fichier : Elements/Thermique/PtIntegThermiInterne.h
	nouveau fichier : General/Distribution_CPU.cc
	nouveau fichier : General/Distribution_CPU.h
	nouveau fichier : Lecture/LectBloc_T.cc
	nouveau fichier : Maillage/maillage4.cc
	nouveau fichier : Parametres/Banniere.h
	nouveau fichier : Parametres/banniere.cc
	nouveau fichier : Util/Courbes/Courbe_1-cos.cc
2022-09-26 14:16:07 +02:00

1 line
No EOL
2.2 KiB
C++
Executable file

#include "LectBloc_T.h"
// lecture d'un bloc
void LectBloc::Lecture(UtilLecture & entreePrinc,LesReferences& lesRef,
char * motcle,string message)
{ MotCle motCle; // ref aux mots cle
if (strstr(entreePrinc.tablcar,motcle)!=NULL)
{ entreePrinc.NouvelleDonnee();
list <T> lili;
T elem;
// double t1; string s1;
while ( !motCle.SimotCle(entreePrinc.tablcar))
{ elem.Lecture(entreePrinc);
// *(entreePrinc.entree) >> elem.Nomref() >> t1;
// on regarde si cela correspond bien a une reference existante
if (!lesRef.Existe(elem.nomRef()))
{ cout << "\n erreur, la ref "<< elem.nomRef() << " de " << motcle << "ne correspond a aucun element"
<< " de la liste de reference lue !! \n";
elem.Affiche();
cout << " LectBloc::Lecture( etc ..."
<< endl;
entreePrinc.MessageBuffer(message);
exit (1);
}
// on verifie que l'on n'utilise pas deux fois la meme reference
// pour deux cibles differentes
list <T>::iterator ii;
for (ii=lili.begin() ; ii != lili.end(); ii++)
if (((*ii).nomRef() == elem.nomRef()) && ((*ii)::Valeur != elem::valeur))
{ cout << "\n erreur , un meme nom de reference est utilisee pour"
<< " deux cibles differentes \n"
<< " nom de la ref = " << elem.nomRef()
<< ", valeurs des deux cibles ="
<< (*ii)::Valeur <<", "<< elem::valeur ;
cout << " LectBloc::Lecture( etc etc .." << endl;
entreePrinc.MessageBuffer(message);
exit (1);
}
// stockage
lili.push_back(elem);
entreePrinc.NouvelleDonnee();
}
// enregistrement des infos
tabElem.Change_taille(lili.size());
list <T>::iterator i;
int j;
for (i=lili.begin(),j=1 ; i != lili.end(); i++,j++)
tabEpaiss(j) = *i;
}
};