16#include <Interprete_geometrique_base.h>
17#include <Sous_Domaine.h>
25template <
typename _SIZE_>
28template <
typename _SIZE_>
31template <
typename _SIZE_>
38template <
typename _SIZE_>
41 Cerr <<
"Association of the domain on which the interpreter applies " <<
que_suis_je() << finl;
46 Cerr << nom_dom <<
" is of type " <<
objet(nom_dom).que_suis_je() << finl;
47 Cerr <<
"we know to treat only one domain with the interpreter " <<
que_suis_je() << finl;
53template <
typename _SIZE_>
56 Cerr <<
"Association of the domain object on which the interpreter applies " <<
que_suis_je() << finl;
60template <
typename _SIZE_>
63 Cerr <<
"Execution of the interpreter " <<
que_suis_je() << finl;
70 for (
int j=0; j<domains_.size(); j++)
79 dom.type_elem()->associer_domaine(dom);
90template <
typename _SIZE_>
101 || (
que_suis_je()==
"Tetraedriser_homogene_compact")
111 for (
int_t nb_p=0; nb_p<nb_poly; nb_p++)
113 if (elem==sous_domaine[nb_p])
115 Cerr <<
" The element " << elem <<
" which will be modified, is included to the subarea \"" << sous_domaine.
le_nom() <<
"\". So the element";
116 if (nb_elem>1) Cerr <<
"s";
117 Cerr <<
" generated [";
118 for(
int_t num_elem=num_premier_elem; num_elem<num_premier_elem+nb_elem; num_elem++)
121 if (num_elem!=num_premier_elem) Cerr <<
" ";
124 Cerr <<
"] will be added to this subarea." << finl;
131 Cerr <<
"You have defined the subarea \"" << sous_domaine.
le_nom() <<
"\" before using the interpreter \"" <<
que_suis_je() <<
"\"." << finl;
132 Cerr <<
"To correctly mark the good elements, set the subarea after to have used the interpreter." << finl;
void associer_domaine(const Domaine_t &)
Associe un domaine a tous les bords de la liste.
void associer_domaine(const Domaine_t &)
Associe un domaine a tous les objets Bord_Interne de la liste.
const Sous_Domaine_t & ss_domaine(int i) const
void set_mc_mesh_ready(bool flag) const
int nb_ss_domaines() const
Raccords_t & faces_raccord()
void fixer_premieres_faces_frontiere()
Bords_Internes_t & bords_int()
Groupes_Faces_t & groupes_faces()
Une entree dont la source est une chaine de caracteres.
Class defining operators and methods for all reading operation in an input flow (file,...
void associer_domaine(const Domaine_t &)
Associe un domaine a tous les objets Groupe_Faces de la liste.
classe Interprete_geometrique_base .
void mettre_a_jour_sous_domaine(Domaine_t &domaine, int_t &elem, int_t num_premier_elem, int_t nb_elem) const
virtual Entree & interpreter_(Entree &is)=0
void associer_domaine(Nom &nom_dom)
Entree & interpreter(Entree &is) override
Domaine_t & domaine(int i=0)
Domaine_32_64< _SIZE_ > Domaine_t
Classe de base des objets "interprete".
static Objet_U & objet(const Nom &)
Voir Interprete_bloc::objet_global() BM: la classe Interprete n'est pas le meilleur endroit pour cett...
void associer_domaine(const Domaine_t &)
Associe un domaine a tous les joints de la liste.
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.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
static void imprimer_ram_totale(int all_process=0)
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
void associer_domaine(const Domaine_t &)
Associe un domaine a tous les raccords de la liste.
Classe de base des flux de sortie.
Sous_Domaine represents a volumic sub-domain i.e. a sub set of elements of a Domaine.
void add_elem(const int_t poly)
Ajoute un polyedre au sous-domaine.
const Nom & le_nom() const override
Donne le nom de l'Objet_U Methode a surcharger : renvoie "neant" dans cette implementation.
int_t nb_elem_tot() const